add history section from devconf 16
[obnox/slides/2016-04-vault.git] / intro-history.wiki
1 ==== SMB - the alien protocol ====
2
3 * SMB - Server Message Block
4 * 1983: created by Barry Feigenbaum, IBM \\ %
5 Turn DOS INT 21h local file access into network
6 * Microsoft:
7 ** Lan Manager (from 1990)
8 ** Windows for Workgroups (from 1992)
9 * On top of NetBIOS, TCP port 139
10 * from Windows 2000: directly on TCP port 445
11
12 ==== SMB versions $>$ 1 ====
13
14 * SMB 2.0: 2006 - Windows Vista
15 * SMB 2.1: 2009 - Windows 7/Server 2008R2
16 * SMB 3.0: 2012 - Windows 8/Server 2012
17 * SMB 3.0.2: 2014 - Windows 8.1/Server 2012R2
18 * SMB 3.1.1: 2015 - Windows 10/Server 2016
19
20 ==== Enter Samba ... ====
21
22 * ... implements SMB ...
23 * ... ''old'' Open Source project ...
24 * ... opens windows to a wider world ... \smiley
25 * ...
26
27 ==== Samba... ====
28
29 <[center]
30 <<<samba-kisses-better-selection.jpg,height=.8\textheight>>>
31 [center]>
32
33
34 ==== Samba... ====
35
36 <[block]
37 {According to openhub.net, Samba}
38 "...has had 101,614 commits made by 363 contributors
39 representing 1,637,229 lines of code"
40 [block]>
41 * present on millions of NAS devices and routers
42 * one of the oldest OSS projects (older than Windows NT)
43 * large codebase and very active development team
44
45 ==== Samba - History ====
46
47 * 1992/01: start of the project
48 * 1.5: 1993/12: (nbserver)
49 * 1.9.16: 1996/05: CVS, Samba Team
50 * 2.0: 1999/01: domain-member, +SWAT
51 * 2.2: 2001/04: NT4-DC
52 * 3.0: 2003/09: AD-member, Samba4 project started
53 * 3.2: 2008/07: GPLv3, experimental clustering
54 * 3.3: 2009/01: clustering [with CTDB]
55 * 3.4: 2009/07: merged S3+S4 code
56 * 3.5: 2010/03: experimental SMB 2.0
57 * 3.6: 2011/09: SMB 2.0
58 * 4.0: 2012/12: AD/DC, SMB 2.0 durable handles, 2.1, 3.0
59 * 4.1: 2013/10: stability
60 * 4.2: 2015/03: AD trusts, leases, perf/scale, include CTDB
61 * 4.3: 2015/09: spotlight, new FileChangeNotify, SMB 3.1.1
62 * 4.4: 2016/03: Multi-Channel core, ...
63
64 ==== Samba - Today ====
65
66 *<1-> Performant, scalable SMB file server \\ %
67   ==> Ongoing SMB3 implementation
68 *<2-> Active Directory domain member with @winbindd@ \\ %
69   ==> flexible, performant, clusterable
70 *<3-> Full Active Directory Domain Controller \\ %
71   (Kerberos KDC, LDAP, DNS, Trusted Domains, etc) \\ %
72   "AWS Directory Service" is powered by Samba AD
73 *<4-> Established SMB clients for Linux: \\ %
74   cifs.ko, libsmbclient (nautilus, dolphin, konqueror)
75 *<5-> Comprehensive testsuite \\ %
76   ==> wrappers now published outside of Samba: cwrap.org
77 *<6-> IDL compiler, autogenerated DCE/RPC code \\ %
78   ==> another 1,141,095 lines of code % wc -l bin/default/{source3,source4,""}/librpc/gen_ndr/{*.c,*.h}
79 *<7-> Powerful python(3) bindings, partly autogenerated