Samba
The Samba Project is nearly 30 years old. It started by me discovering some unmaintained but interesting open source software for sharing files and printers with workstation computers back when Microsoft wanted to monopolise all computer networking. This history is documented in the Samba source tree.
Samba became a story of reverse engineering, IP rights, threats from Microsoft, cybersecurity, a giant European court case, startup companies, lawyers and engineering excellence. I was a co-founder of Samba because I needed it to solve my own problem sharing files and printers at the University of South Australia. I could see that there was a bright future for drop-in replacements for Microsoft network servers, and some talented engineers agreed with me. It was an interesting ride for many years!
Samba was the first software to have the right of compatibility affirmed by the EU Court of Justice, after an epic series of cases finishing in 2012. The EU Commission learned then that it could fight a giant American corporation and win, something it is continuing to do in the privacy battle against Google, Amazon, Apple and others today.
Both Success and Failure
Samba is still developed and is still impressive. Samba has conservatively a billion users due to its inclusion in many embedded devices and storage systems. Samba is the second and only other complete implementation of Microsoft's Active Directory. Samba Team engineers continue to release reliable code, with a core team of around 30 members, volunteers and developers funded by many companies.
And yet, Samba has also fallen far short of its promise to be a drop-in replacement for Microsoft servers, which would have made it ubiquitous in every company in the world. Microsoft and Amazon's hybrid cloud solutions would have looked very different - and Amazon did try hard to engage with the Samba team to make it work for them. Unfortunately, no matter how advanced Samba becomes now, the opportunity for Samba to rule the world has passed.
Reverse and Forwards Engineering
Samba started as a reverse engineering project, to provide users with the same experience as having a Microsoft server, with some additional benefits due to being based on Linux and open source. After the astonishing 13-0 loss in EU court in 2007, Microsoft started sharing the written standards for how to communicate with their servers. At last we could really know what we were doing in developing Samba! Microsoft would no longer control all file servers and directory servers in the world!
But it didn't quite turn out that way.
Part of the reason Samba fell short stems from the social and psychological difficulty of turning a reverse engineering project into forwards engineering, once full documentation for the SMB protocols became available. The architectural possibilities are very different and the development cadence should have changed completely to reflect that. Companies were very keen to participate in this new opportunity, and deployments in the cloud were an obvious next step. None of that happened, because Samba was no longer the only alternative in the market, and was no longer driven by the brilliance of dogged individual discovery. Additional skills were needed for Samba to become as ubiquitous as Microsoft in the server market, and those skills were never applied.
Nevertheless I am very proud of Samba, and I enjoy seeing its continued technical growth. Samba seems like it has plenty of future yet.