Ik zie het toch echt anders. Samba kan gewoon niet anders als achterlopen. Ze moeten immers MS volgen.
Het cenario is steeds hetzelfde. Microsoft past de protocollen aan. En samba moet met reverse engineering erachter komen hoe het werkt.
Toen Microsoft voor Windows 95 met Encrypted passwords kwam hebben de samba developpers er 3 jaar over gedaan om erachter te komen hoe dit werkte. Dit alleen omdat Microsoft dit systeem niet documenteerde.
Maar er komen vrij weinig features bij, en om mysterieuze redenen zijn diverse bewerkingen na al die jaren met Samba nog steeds ontzettend traag vergeleken met een Windows server.
Geef dan een duidelijk aan welke bewerkingen traag zijn. Misschien kunnen de ontwikkelaars er ook nog iets mee.
Hoezo er komen weinig features bij? In Samba 2.2 is volledige Windows NT PDC fucntionaliteit toegevoegd. Microsoft Dfs support, NT style (ACL ondersteuning), Winbind (Samba laten samenwerken met Win NT en Win2k/3k in mixed mode)
Samba 3.0 features:
Samba kan nu via Kerberos en Ldap in een Native Windows 2000 en 2003 Domain als member draaien.
Samba heeft zonder enige medewerking van Microsoft het voor elkaar gekregen om verschillende Active Directory features al te supporten. Zoals he publiceren van printers
en verschillende Account settings (lockout, duration, password, enz)
Je kan met Samba 3.0 op een heel simpele manier je Windows NT Domain controller migreren naar Samba. Samba 3.0 kan ook trust relaties maken met Win NT servers. Vandaar dat veel overheden zoals Frankrijk en Duitsland met nog NT servers overstappen. Samba 3.0 is een echte Windnows NT killer.
Daarnaast is er ook nog de Cifs client ontwikkeld voor Linux 2.6. Dit moet Linux ook moderne Smb/Cifs mogelijkheden geven integenstelling tot het primitieve smbfs.
In tegenstelling to de beeldvoming die jij hier schept wordt er echt keihard aan Samba gewerkt. Maar het uitvogelen van hoe bijvoorbeeld Byte Range Locking is geimplementeerd is niet bepaald makkelijk te noemen. En als je dan ook nog "mogelijke" bugs tegenkomt is het echt verschrikkelijk moeilijk.
Ik citeer uit een van de documenten: "One interesting thing that came out of this testing is that NT has a serious byte range locking bug. We found that a series of 4 operations like the following fails where it should succeed: lock bytes
1-10 on file descriptor 1
lock bytes 20-30 on file descriptor 2
close and re-open file descriptor 2
lock bytes 20-30 on file descriptor 1
The exact numbers aren't all that important. The problem appears to be that NT sometimes does not remove locks on file descriptors when the file is closed. Interestingly, NT does get this right sometimes. If you run
exactly the same series of operations a hundred times then NT will get the right answer about 20% of the time.
One unfortunate side-effect of this bug is that we can't completely validate the Samba implementation against NT. We are looking forward to
Microsoft fixing this bug so we can verify that our byte range locking implementations are identical."
Veel informatie hierover kan hier worden gelezen:
ftp://it.samba.org/pub/samba/slides/
Vooral deathofcifsnfs is het lezen zeker waard.
Dan is er nog Samba 4. Dit is echt een ontzettend ambiteus project van het Samba team.
Informatie hierover is vooral te vinden in de documenten
samba4_sambaxp04, samba4_tridge en vfs
Een korte samenvatting van wat men met Samba 4 van plan is.
- Ze willen het complete Cifs protocol implementeren. Niet alleen de zaken die geteste applicaties nodig hebben.
- Ze willen Samba loskoppelen van Posix met verschillende backends zodat nagenoeg volledige compatabiliteit geen illusie meer is.
Samba 3 ondersteund alleen maar het one client on fork process model. In Samba 4 komen verschillende process modellen.
- 'single' - one process for all clients
- 'standard' - the old Samba3 model
- 'thread' - a pthread per client
Verder moet samba very fast indexing gaan ondersteunen door de interne tdb database te verbeteren
En voor veel mensen het belangrijkste:
Active Directory and PDC
● Our aim is to make Samba4 be a full ADS
domain controller, plus a full NT4 domain
controller
● We will use auto-generated mappings from IDL
to ldb to store directory information
● The work to make Samba4 a domain controller is
only just beginning, but the basic infrastructure
looks good
Daarnaast willen ze samba installatie en onderhoud ook makkelijker gaan maken.
Easier Install
● For Samba4 I want Samba to be much easier to
install and configure
● builtin web configuration in smbd - no extra setup
● no base config file needed, just start daemon and use
browser
● new GUI for SWAT, including functionality from current
command line tools
● ldb+tdb means no messing about with LDAP setup
Daarnaast moet samba 4 ook nog compleet modulair worden.
Voor het eerst kunnen we kennis maken met deze nieuwe features in samba 3.5 waarnin delen van de 4 zullen worden opgenomen.
Stel dat Sun voor Smb/Cifs heeft betaald wat ik niet denk, ik denk eerder de ze betere toegang tot .Net hebben gekregen. Dan kunnen ze bijvoorbeeld niet Samba verbeteren. Samba is Gpl en Gpl is Evil volgens Ms. Dus Ms zal niet toestaan dat Sun Samba verbeterd en de source vrijgeeft.
En dat Sun zelf met een alternatief Cifs/Active Directory product komt voor Solaris zie ik ook niet gebeuren. Dat kost echt jaren ontwikkeltijd.