04eb8f4147192e31c10b9e679fb8f2553c955ec6
[metze/test/web/.git] / devel / index.html
1 <!--#include virtual="/samba/header.html" --> 
2   <title>Samba Development</title>
3 <!--#include virtual="/samba/header_wide.html" -->
4
5 <h2>Development</h2>
6
7 <p>devel.samba.org contains information about the current state of Samba development. It should be of interest to those developing Samba as well as to those following Samba development.</p>
8
9 <p>Very often, questions arise concerning future plans for Samba.  For example:  "What functionality will be included in the next stable release?"  "What are the differences between the various CVS and Subversion code branches?" And also, "How can I learn more, get involved, help, etc?"  The information on this page is provided to help answer those kinds of questions.</p>
10
11 <blockquote><b>Important:</b> In order to avoid any potential licensing issues we require that anyone who has signed the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cifs/protocol/royalty-free_cifs_technical_reference_license_agreement.asp">Microsoft CIFS Royalty Free Agreement</a> not submit patches to Samba, nor base patches on the referenced specification.  We require, too, that patches submitted to Samba not infringe on any known patents.  Finally, as with all GPL work, the submitter should ensure that submitted patches do not conflict with any third-party copyright.</blockquote>
12
13 <h3>General Overview</h3>
14
15 <p>As of 4 April 2004, the Samba Team converted from CVS to Subversion for maintaining the Samba source code.  All current development is done in a Subversion repository.  All older code is in the original CVS tree; this would include 2.2.x versions of Samba, which are no longer in active development.</p>
16
17 <p>The latest production release is <em>Samba 3.0.23d</em> (<a
18 href="/samba/history/samba-3.0.23c.html">release notes</a> and <a
19 href="/samba/download/">download</a>).</p> 
20
21 <p>Ongoing future research is being done for Samba 4.0
22 This work is concurrent with Samba 3.0 maintenance 
23 and development.  A <a href="/samba/ftp/samba4/">technology 
24 preview release</a> is available.</p>
25
26 <br />
27 <h3>Samba Branches</h3>
28
29 <p>Areas of Samba development are listed below according to their branches within the Subversion source tree.  Plans for each release follow its listing, along with a sample check out command.</p>
30
31   <ul>
32     <li><h4><em>TRUNK</em></h4>
33     <p><b>NOTE:</b> TRUNK is no longer used for development.  See the news item
34         <a href="http://news.samba.org/developers/svn_repo_reorganized/">SVN Repo 
35         Reorganzied</a> for more info.</p>
36   </ul>
37
38   <ul>
39     <li><h4><em>SAMBA_3_0</em></h4>
40     <p>This is the current development branch for 3.0.x production releases.</p>
41     <p>Example checkout command:</p></li>
42   </ul>
43
44 <pre>
45 svn co svn://svnanon.samba.org/samba/branches/SAMBA_3_0 samba3
46 </pre>
47
48   <ul>
49     <li><h4><em>SAMBA_3_0_RELEASE</em></h4>
50     <p>This is the staging area used for freezing the 3.0.x release snapshots.</p>
51     <p>Example checkout command:</p></li>
52   </ul>
53
54 <pre>
55 svn co svn://svnanon.samba.org/samba/branches/SAMBA_3_0_RELEASE samba3_release
56 </pre>
57
58
59   <ul>
60         <li><h4>SAMBA_3_0_X</h4>
61         <p>After a release, a SAMBA_3_0_X branch is created, where X is the latest
62         release number (SAMBA_3_0_23, for example).  This branch is a copy of 
63         SAMBA_3_0_RELEASE at the time of release and is used for bug fixes only, so
64         that development may continue in SAMBA_3_0.</p>
65         <p>Example checkout command (remember to substitute for current release):</p>
66         </li>
67   </ul>
68
69 <pre>
70 svn co svn://svnanon.samba.org/samba/branches/SAMBA_3_0_23 samba_3.0.23
71 </pre> 
72
73   <ul>
74     <li><h4><em>SAMBA_4_0</em></h4>
75     <p>This is the research branch for Samba 4. 
76        <a href="/samba/ftp/samba4/">Technical Previews</a> of this code base are available 
77        for download.  Be aware that these snapshots are intended for testing purposes 
78        only and not for use in production environments.  For more information, see 
79        the <a href="/samba/devel/roadmap-4.0.html">road map document</a>.</p>
80     <p>Example checkout command:</p></li>
81   </ul>
82
83 <pre>
84 svn co svn://svnanon.samba.org/samba/branches/SAMBA_4_0 samba4
85 </pre>
86
87 <p>Further information on anonymous subversion access is available on <a href="/samba/subversion.html">the subversion page</a>.  Those interested in the old CVS tree can check out the the <a href="/samba/cvs.html">CVS page</a>.</p>
88
89 <br />
90 <h3>TODO List</h3>
91
92 <p>Because Samba development is driven by volunteers and demand, the best way to help stabilize the next release and/or feature is to help out.  If you are interested in volunteering to help Samba development, go to the <a href="/samba/devel/TODO.html">TODO</a> page for a list of projects.</p>
93
94 <p>Please coordinate all development efforts on the <a href="mailto:samba-technical@samba.org">samba-technical</a> mailing list.  For more information about the list, or to join the list, go to the <a href="http://lists.samba.org/mailman/listinfo/samba-technical">samba technical mailing list</a> page.  The main samba development channel on IRC is <i>#samba-technical</i>, server <i>irc.freenode.net</i>.  Please don't ask user questions in this channel (users see <i>#samba</i>).  Channel logs are available <a href="http://irc.vernstok.nl/samba-technical.php">here</a>.</p>
95
96 <p>Also, please see our policy concerning <a href="/samba/devel/copyright-policy.html">contributor copyright</a>.</p>
97
98 <br />
99 <h3><a name="learn">Learn More</a></h3>
100
101 <p>For anyone interested in getting up to speed with SMB/CIFS, NetBIOS, MS-RPC, etc... Here are some links to help out:</p>
102
103   <ul>
104     <li>Get a copy of <a href="http://www.wireshark.org">Wireshark</a> or possibly Microsoft's Network Monitor shipped with Windows NT/2k server.</li>
105   </ul>
106   <ul>
107     <li>See the docs at:
108         <ul>
109         <li>The 
110         <a href="/samba/docs/man/Samba-Developers-Guide/">Samba
111         Developer's Guide</a> is available in 
112   <a href="/samba/docs/Samba-Developers-Guide.pdf">PDF</a>
113   or <a href="/samba/docs/man/Samba-Developers-Guide/">HTML</a> format</li>
114         <li><a href="http://www.snia.org/tech_activities/CIFS/">SNIA CIFS Technical Reference</a></li>
115         <li><a href="http://www.cb1.com/~lkcl/ntdom/">http://www.cb1.com/~lkcl/ntdom/</a></li>
116         <li><a href="/samba/ftp/specs/">Archive of SMB/CIFS Protocol Drafts</a></li>
117         <li>Chris Hertel's <a href="http://www.linux-mag.com/2001-05/smb_01.html">&quot;Understanding the Network Neighborhood&quot;</a> and <a href="http://ubiqx.org/cifs/">Implementing CIFS</a></li>
118         <li>Luke Leighton's book with New Riders Publishing <a href="http://www.amazon.com/exec/obidos/ASIN/1578701503/qid%3D1032301305/sr%3D11-1/ref%3Dsr%5F11%5F1/102-4220271-1136156">DCE/RPC over SMB: Samba and Windows NT Domain Internals</a>, ISBN 1-57870-150-3.</li>
119          <li>The <a href="/samba/devel/smbtorture-raw-functions.txt">smbtorture
120   documentation</a> written by Stephen Zarkos are well worth reading
121   if you use the Samba test suite<br /><br /></li>
122         </ul></li>
123     <li>Get a symbolic debugger (gdb, ddd, ups, etc...) and step through the smbd source code as it is running in response to a SMB call (or RPC) that you are interested in.</li></ul>
124   <ul>
125     <li>The MSDN site (<a href="http://msdn.microsoft.com/">msdn.microsoft.com</a>) is pretty good as well, if you know what you are looking for.</li>
126   </ul>
127
128   <ul>
129     <li><em>Coding tools</em>
130     <p>As for what editor to use, it's your preference.  The tool must not munge formatting to be useful.</p>
131     
132     <p>RedHat's Source Navigator generates **huge** cross reference databases but also let's you get around in the code fairly well.  You need to run X to use this? See <a href="http://sourcenav.sourceforge.net/">http://sourcenav.sourceforge.net/</a> for a download link. One could also use 'ctags' to navigate thru the source code.</p>
133     
134     <p>Of course, vi and grep will get you there too. :-)</p>
135     </li>
136   </ul>
137
138
139 <!--#include virtual="/samba/footer.html" -->