Samba 4 is an ongoing major rewrite of the existing interface between Linux and Windows file servers. The goal of the four-year project, which is proceeding concurrently with a Samba 3 update, is to replicate the functions of Microsoft's Active Directory in a mixed environment (e.g., for Linux, Unix and Windows). Lead developer Andrew Bartlett, whose work is heavily underwritten by Raleigh, N.C.-based Red Hat Inc. was working on Samba 4, alpha 4, when we chatted a year ago. Here's what the Australian, had to tell us about Samba last week:
How is the project going? When are we going to see a beta release?
We'll be releasing alpha 8 in the next few weeks. We're making really good progress and I've been able to farm out some of the tasks but it's slow. I'm also working with other companies that would like to incorporate Samba 4 in their products. But I gave up guessing on a beta release date a long time ago. It was getting embarrassing.
Why does Samba 4 matter to data centers?
By functioning as a domain controller, Samba 4 will be a critical hub in the middle of the network and the servers and it will enable data centers to choose different platforms for running the servers. It offers a different way of running the core infrastructure of your company other than a pure Microsoft shop.
Why couldn't you just continue with Samba 3?
Samba 3 emulates Windows NT for its domain controller capabilities and will still work with Windows 7 and Windows Server 2008R2. However, Windows NT is being phased out, so it was important to create an Active Directory-like interface to avoid technology obsolescence. Because of the way Microsoft designed and implemented Active Directory, it is not possible to slowly add AD features to Samba 3. The clients assume you are either NT4 or a full AD Domain Controller, without any midpoint that would allow a slow evolution of an existing codebase.
Will there be reasons to run both Samba 3 and Samba 4?
Yes. Samba 3 has excellent file serving capabilities. There is no reason not to run both on the same server to benefit from the best features of each.
Tell me about some of the recent progress.
With work going on concurrently on Samba 3 and Samba 4, we decided eight months ago to work from the same code "source tree" and libraries to avoid duplicating code improvements and bug fixes. We've also been able to test Samba in production at what I call my "secret Russian production site," which has given us valuable feedback, detecting serious issues before they created problems for other alpha users. In addition, we have recently expanded Samba to support the full Active Directory schema, which defines what you can include in the database and identifies what the data is. (It is important to support the same schema as AD to ease migration between the two implementations).
What are some of the project's challenges?
We keep on finding more things to do. We solve one problem and then discover more steps that need to be done. That's why it's so hard to figure out when the beta version will be ready. Also, the Samba 4 development effort has only myself as a full-time developer and about four part-timers working very hard to catch up with the work of a team of hundreds.
What is the impact to users when changing from Samba 3 to Samba 4?
We have swapped out Active Directory with Samba 4 in a lab and users didn't notice any difference. But changing from Samba 3 to Samba 4 is a more difficult challenge, just as upgrades from NT4 to Windows 2000 were. There's still lots of work to do, and upgrade scripts will be provided in due course.
Aren't there other interfaces such as Likewise or Winbind that work just as well?
Those interfaces do the opposite of Samba 4's DC functionality: They make it easier to run Linux machines in a Windows environment. Samba 4, as an AD Domain Controller, makes it easier to run Windows machines in a Linux or Unix centered environment.
Let us know what you think about this story, email Pam Derringer, News Contributor.