Monday, March 24, 2014

The dangers of free software


This is part of a 3 piece entry, the cover of which is: free software patents and cosmos




There are serious dangers with free software and open source software which I'd like to review. Some zealots may tell you that there is nothing to worry about when embracing free software and open source software but I'm here to tell you that this is all wrong, explain where all this badness comes from and give some advice about what you can do about it. I will do this by providing a brief summary on the efforts on transforming a non upstream Linux focused company around but would also like to put emphasis on the root of all this evil.


Once upon a time in a not so far distant time I recall being seriously frustrated about progress, progress about pretty much everything related to helping what was once - a small company and later large - evolve to properly understand and participate the Linux upstream community. Before I go on any further I should note that my role at Atheros was clarified since before I got hired and I accepted, I firmly believe that providing a loose interpretation about what happened, without getting into specifics, is part of the rights of my role which was defined below.
We are committed to having a driver in upstream kernel. Your role is to help us find that path to make it happen. We have ideas, if they do not work then we shall try other plans. You shall be the driving force to get in the kernel. The entirety of your role is to do this and continue to work with FOSS and Linux wireless. I am a little surprised that you feel uncertainty in that; which makes me feel that we/I have not communicated effectively. We can talk more live if that would help. - March 20, 2008
That made things crystal clear, so I accepted! I packed my bags and left dirty Jersey behind. With confidence I can say I gave it my very fucking best, and am happy to say that Atheros even become a leader, we even put out open firmware for 802.11 device drivers, but after some big changes... and even though I also gave it my best after these changes... I had to throw the towel -- specially once my own freedoms and others' freedoms came to be questioned. There's some lessons to be learned here but more importantly, without getting into the specifics, are the realizations of why the tensions arose, understanding where they came from and how to better prepare for the future.


There is nothing more disturbing to a free software hacker than a PHB, a term popularized through Dilbert in 1989 and specifically within our Atheros group's hacker culture by sujith. The term caught on some love within the group, to the point we even used it publicly for predicting the next time Linus Torvalds would decide to release the next kernel release for them through the phb-crystal-ball. You see, in any evolving company, as you try to get work done you could eventually hit a brick wall by a PHBPHBs don't necessarily need to exist though, I'm happy to report that I haven't ran into a single PHB at SUSE now though. My new manager is a direct contributor to the Linux kernel and I wouldn't be surprised if he surpasses me on upstream contributions. But the corporate world is plagued with PHBs and this is specially true for silicon valley companies making hardware. Its an epidemic. One of the disturbing aspect of PHBs though is that PHBs need more PHBs around, and they speak the same language. They have no fucking clue what they are talking about, so they obviously need others to ramble off on tangents that make no fucking sense whatsoever. You are not a PHB when you are comfortable in accepting you just fucking don't know and stop making stupid fucking assumptions and getting in the way of engineer's work, or at the very least show effort to and care to analyze proposals. I became increasingly concerned over PHBs though, not because they were getting in my way, although that was disturbing, but because they actually existed and because of the unnecessary tensions that arose because of them. It was also frightening as I was working in Silicon Valley with brilliant fuckers, and I struggled to understand the nature of the PHB, you see a PHB can even be a rocket scientist, I kid you not. It didn't make any fucking sense.


WTF was going on, how could this be? There's two possible sides to the answers for this question. In the end you are either the one who is nuts or your PHB is nuts. But this is beyond PHBs, you see, who do you think ends up at upper middle management at corporations? Upper echelons at corporations breed PHBs, and for a lot of folks in the corporate world this could mean a ticket to going back to your original country and putting down a PHB fort there too, and maybe even help your peers and own country's economy. There's a slew of collateral damage incurred for a company that is not used to doing free software development and all of a sudden change to do so, and even more so if it decides to become a leader with free software. The collateral damage makes market capital sense in light of the gains of the open collaborative development models, specifically of working upstream on the Linux kernel and in consideration of the other business collateral damage if its competitors are embracing upstream development better. PHBs are only a small part of the issues you could run into though. Upon a free software corporate culture change everyone needed to become educated somehow about free software and for those on the Nazi German Reich who worked only on proprietary software, it meant you had to go change your outfit and either join the allied forces or go to one of those remaining corners full of cobwebs left with some room for proprietary software development, or you go rediscover yourself and quit.


Markets and business models evolve, employment is simply an attribute of how folks can fit into the current economic landscape.
The nature of the PHB is simply an artifact of accelerated evolution of markets and business models, and the inability or lack of true will to embrace the changes that they bring.
This is perhaps hard to understand, and definitely hard to swallow as it has other implications. When I tell people that a current business model that they embrace is archaic they're typical reaction is to cringe in disbelief and oblivious dismissal. As an example, I don't think the web services business model is a strong one, specially if user freedoms are being compromised but I actually don't expect anyone to believe me though, specially as we're in a ooze of comfort for open source. You see the concept of open source software is simply an apologetic excuse for adopting only free software licenses which were compatible with existing business models at the time these two terms started differentiating. The results are a boom of adoption of Free and Open Source Software but only in the realms of what was expected up to the freedoms granted by the GPLv2, and even the GPLv2 is still looked at with careful eyes by a few silly corporations like Apple and Microsoft. Copyleft is an innovative legal strategy used by more modern evolved software copyright licenses, starting with the GPL, which require the same rights be transferred to modified versions of the software, recursively, precluding usage of these types of licenses in proprietary software. Licenses that do not use copyleft are considered permissive licenses -- you can mix and use them with proprietary software. Markets always evolve though and in this particular case the software market has evolved best through collaborative development models. Markets must keep evolving though, but software is not the only thing that will evolve, law and legal strategies to protect open collaborative development models will evolve as well, and those that are not ready when the next big swing comes will simply be put out of the way by the combination of the fast pace of both the innovation of the open collaborative development models and through new legal strategies that protect these ecosystems.


Let me give you a small example of how the markets have evolved slightly over the last few years since the popularization of open source. With regards to open source software development in current markets what is the biggest pain in the ass that engineers in companies can run into? Its fucking patents. A PHB is to open source software engineers as a patent troll is to an open source corporate leader. This is exactly why large projects like Apache, Hadoop, OpenStack, Android are licensed under the Apache 2.0 license, which ensures that no contributor could ever become a patent troll for the ecosystem. The Apache 2.0 license is therefore an epic legal evolution with regards to freedoms, in the marketplace. Its important to highlight however that the Apache 2.0 license is not the only software license to include patent protection provisions, the GPLv3 license include these as well but due to what I believe now to be unnecessary tensions that arose during the brutal way in which consideration for GPLv3 for the Linux kernel was handled (which I also briefly hinted at here),  unfortunately the GPLv3 didn't catch the next immediate big wave in the Linux market place. GPLv3 fans could argue that should the Linux kernel have embraced the GPLv3 we would not be in the situation we are in now with patents on the Linux ecosystem, and although one could argue against this as well -- we have to accept the patent issues certainly were left untouched and one has to accept the ramifications of that. The embracing of the Apache 2.0 license in major Linux ecosystem projects could be a good aftermath result of that.
The Apache 2.0 license provides an innovative legal protection strategy to the patent troll problem that apologetic open source enthusiast corporations had, that still wished to strive for open collaborative development models through permissive licenses.
The Apache 2.0 license is compatible with the GPLv3 license because they both have patent provisions. The difference of course is that the Apache 2.0 license is a permissive license while the GPLv3 is a copyleft license. Strategically, although I believe not planned in any way, they both were trying to address the same series of patent problems we had and expected we'd have more of today.


The dangers of free software and open source are that they are simply part of the evolutionary process, which is the greater evil (which obviously isn't evil), and there is always collateral with evolution: PHBs, legal PHBs, patent trolls, supply and demand for good engineers, non-PHBs, savvy attorneys, savvy marketing folks, you name it. The list goes on and on. Without properly accepting and predicting business model evolutions fans of advanced copyleft licenses such as the AGPL license today will face the same persona non grata looks and experience the same tensions as I did with PHBs when moving towards a Linux upstream model. The difficulty in all this lies in that free software and open source are not popularly trained as part of evolution when teaching or training folks on software engineering principles. This will obviously change but it has to happen sooner rather than later. Software is also highly evolutionary and changing a company to move away from proprietary software development to an open source model requires a business model consideration, a business model evolution. I have previously explained how I believe capitalism can be evolved by taking into consideration ethical attributes, this is the landscape in which I believe advanced copyleft can be appreciated, and folks should prepare for the evolutions in business models that this can bring.
Post a Comment