Keeping Samba development both free and vibrant in the era of GitHub and Travis CI
"Software as a service development tools are both a powerful force for
and a fundamental threat to software freedom."
This is a talk about software development practices and their
intersection with software freedom. It is a talk about the road the
Samba Team is taking, as a conservative free software project to both
increase the quality of our code, and improve the way we work with
It is also a talk about the allure of GitHub. Many, many Free
Software projects are present there, in one way or another, and many
report substantial increases in contributions once they became
established in that ecosystem. The terms are very attractive to an
open source project, and the network effect substantial, and I'll talk
about how Samba's mirror on Github is working for us.
However, we also have concerns. Our project is old enough to be built
around mailing lists and patches, to have seen sourceforge grow and
shrink, to see Google Code come and go, and to outlive almost all our
original corporate partners. That is, we are quite concerned by the
implications of becoming totally dependent on a proprietary web
application hosted on a gratis basis by a for-profit corporation.
These concerns (and simply our age as a project) mean we now have a
small team of systems administrators who manage a number of dedicated
and virtual servers. We even built our own CI system based on a
simple Python script, and a 24-core server to go with it. (I spoke
about this at the CI Miniconf in 2013).
That is, despite the substantial actual and opportunity costs, we
cling to these as being 'reliable', 'free' and most importantly
As a wholesale move to GitHub seems unlikely, a number of members of
the team (myself included) have been looking at how to give Samba
tools roughly equivalent to GitHub + Travis CI, using Free Software.
Our particular interest is in making code review easy, and ensuring
contributions from users are made easily and not lost. We tried
Gerrit and GitLab, and also looked at Phabrecator.
However, my personal effort was to build a kallithea/jenkins instance.
Kallithea is an interesting project, vetted and forked when RhodeCode
stopped being Free Software, and is like Samba a member of the
Software Freedom Conservancy. It is still very young, but looks like
it has some of the key features we need, and I'll speak about how
Samba is using it and Jenkins to ensure that every code submission is
tested, before it is even reviewed.
Andrew Bartlett has been a Samba developer since 2001, and is a lead developer on the Active Directory Domain Controller (samba4) effort. He works for Catalyst in Wellington NZ.
Geelong is Victoria's second largest city, located on Corio Bay, and within a short drive from popular beach-front communities on the Bellarine Peninsula as well as being the gateway to the famous Great Ocean Road
linux.conf.au is widely regarded by delegates as one of the best community run Linux conferences worldwide and is the largest Linux and Open Source Software conference in the Asia-Pacific.
Our Sponsors help make linux.conf.au become the awesome conference everyone comes back to year after year. Come see who's on board this year, or find out how to get in contact with us