How can I contribute
Samba development is stored in the Git SCM system. See Using Git for Samba Development for more detail on how Samba uses Git.
Two web interfaces are:
Samba is no longer actively developed on GitHub but for reference and to keep old code from being mistakenly examined, the Offical Samba Team GitHub Mirror is kept up to date.
Samba codebase organization
Broadly speaking, the Samba source-code tree can be organized into the following major groups:
- Top-level libraries, which contains common code shared amongst the Samba processes.
- Source3, which is code primarily used by the file server and domain member.
- Source4, which is code primarily used by the Active Directory Domain Controller.
- Infrastructure components, which provide the build and test framework for Samba.
- Autogenerated code, which is used for parsing DCE/RPC packets as well as other regularly structured buffers.
The Samba codebase is broken down in detail in the Samba codebase organization page.
Debugging / Testing
Writing and running Samba tests
- Writing a Samba VFS
- The new version of Writing a Samba VFS (for Samba 3.6 and earlier)
- Writing a Samba VFS Module (for Samba 4.0 and above)
- Building Samba 4 (Which build system to use and why)
Google Summer of Code
Historical Documentation on the Development of Samba4
- Franky: A Hybrid Samba Active Directory Controller (outdated!)