Monday, March 24, 2014

Free Software, Patents, Surveillance and Cosmos

I've had a few set of concepts brewing for a while now which I finally had time to jot down this weekend. I split this into 3 pieces but they're all related. This integrates free software, legal innovations, patents, freedoms, surveillance, singularity and even the cosmos.
When I call out a company on having an archaic business model I hope its clear now why. Our challenge in the community is to simply not tolerate stupidity, help advance, support and evolve business models that will help us innovate ethically, but also ensure we educate folks to avoid friction and collateral with evolution.

Cosmic evolution of free software

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

There is a relationship between cosmology, singularity and free software and even surveillance which this post dares to consider in a very condensed way which I will use to try to remove any fear, uncertainty and doubt over the evolution of free software and open source software but also to provide clarification of why business models must become dynamic and adaptable.

There's a concept which Carl Sagan popularized in his 1980's Cosmos: A Personal Voyage which I'd like for us to recall -- the Cosmic Calendar.

Singularity is a new craze these days, people are not only getting really excited about the prospects, some are also investing a lot of money into this. If you are not familiar with the concepts of Singularity I recommend to check out Ray Karzweil's talk at Google about the Singularity, now hired at Google as Director of Engineering to help bring natural language understanding to Google. I'd recommend following this up with the Transcendent Man at least twice. Then watch the IBM's revelations of their new $1 billion investment into expanding their Watson Group, . Good 'ol Watson beat humans in Jeopardy in 2011, it ended up using used Wikipedia to learn tons of human information. Finally watch Benjamin Goertzel's interview regarding the Singularity. In short the concept of singularity is that at one point in time computers will surpass the intelligence of humans. Ray has popularized the term even more by integrating a firm prediction of when that will happen. He believes that a machine will pass the Turing test by 2029, and that around 2045, "the pace of change will be so astonishingly quick that we won't be able to keep up, unless we enhance our own intelligence by merging with the intelligent machines we are creating". The foundation of Ray's predictions is the concept that technology keeps evolving exponentially. If this sounds fuzzy consider Moore's law and extend that before and beyond. He mentions in the the Transcendent Man  he has 10 folks who work for him specifically only for gathering data and building projections on technological growth. He uses this to help build more accurate business models. Ray clarifies:
"Business plans set out to only have an outlook for the next 3-4 years are pretty short sighted. You only need to look at the last 3 or 4 years to see that that's not correct."

We're at a point in time in history where some folks are gathering together random materials of their long past relatives with realistic expectations that if we we can't bring their long lost relative back some new Artificial Intelligence (AI) systems in the future will be able to bring back the long lost relative somehow under the expectation that these AIs will be far more advanced in intelligence than humans. There's a lot of concerns over surveillance lately, how will that look like in the future? In Benjamin Goertzel's interview regarding the Singularity he postulates a possible "suveillance" situation under which its accepted a certain amount of if not most of our private information is surveiled by advanced AIs, the concept and question of a Nanny AI comes up, if we had an advanced AI could we trust it to surveil us fairly? More importantly -- how would a Nanny AI be able to ethically surveil us?

The last point I will need to make to wrap up is to clarify that Ray's own appreciation of the exponential doesn't do enough justice to give us a good picture of what we should dream of, consider, and appreciate in the grand scheme of things. Carl Sagan's cosmic calendar is perhaps the best most dramatic crystal clear proof of exponential growth. Its not attached to technology, or biology, it goes way beyond that to incorporate the entire cosmos.

When you take into consideration Ray Kurzweil's exponential growth some folks are starting to believe that Singularity is near. When you take into consideration Carl Sagan's cosmic calendar singularity should seem something more easy to swallow. Abuses of big data might be unavoidable but in order to help mitigate abuses we should consider introducing ethics into Artificial Intelligence (AI) systems. Ethhical attributes should help not only shape appreciation on new evolutions of free software in light of evolution of new freedoms, but it can obviously be used to help appreciate new business models and perhaps even one day teach AIs to be ethical as we explore the cosmos.

The Free Software patent paradox

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

On my last post I reviewed the rapid pace of evolution of free software, open source software and legal evolutions and the implications for business models. There is an interesting set of problems which arise in light of all these evolutions in consideration of personal freedoms, existing business models and patents which I'd like to review now which in the worst case scenario make free software and open source software targets. I'll refer to this as the free software patent paradox. A paradox, as per my lazy search on google, is defined as:
paradox: a statement or proposition that, despite sound (or apparently sound) reasoning from acceptable premises, leads to a conclusion that seems senseless, logically unacceptable, or self-contradictory.
I'll define the free software patent paradox as follows:
Due to the explosion, market use and leadership of free software and open source software we have created a great set of safe havens for free software and open source software developers to work in.
You might think that this paradox might only make sense for those who understand and appreciate copyleft in the industry, that is, that BSD hackers could not be affected by all this, but that's not the case. If you don't care or understand the reasons for the advancements of copyleft today you can still easily get burned by the rules put in place at companies that have patents. The issue I'm trying to highlight then does not only affect Linux / GNU hackers, but also BSD and permissive licensed hackers. This might even hold true, although I'm certain to a lesser degree, for companies that provide devices with trusted boot images (addressed by the GPLv3), or web services code (addressed by the AGPL). It must be less of an issue for these companies as the licenses that could create a conflict for these companies such as the GPLv3 and AGPL are naturally less common than the combination of GPLv3, AGPL, and Apache 2.0 licensed projects put together, all of which address patents. There are tons of important projects licensed under the Apache 2.0 license. Don't take my word for the issues I'm saying exist for free software and open source software developers -- if you don't know what this is like go ask someone who works at a high patent portfolio owning company what it's like to get a better sense of what's required to contribute to any free software and open source software project, heck while at it ask what are the rules to contribute to Wikipedia.

The explanation to this paradox comes from the fact that the rate of change of corporate adoption of new freedoms will be slower than the rate at which you may wish to embrace these freedoms and at the same time protect its own corporate interests. Unfortunately in the the worst case scenario for some developers its like being in a glacial moving prison.

The motivation for reviewing this paradox comes from the consideration of the unfortunate implications for any free software developer who wishes to work at any modern company or is already working at a company that has put in place rules the engineer must follow to participate in free software and open source software projects either at work or at home. If we are to consider the situation of a developer, lets call him Joe Hacker, having started free software projects prior to joining a corporation, lets call it Yoyodyne, Inc. Lets assume Joe Hacker only gets hired to work on free software and open source software.There are copyright considerations for:
  1. Who owns the copyrights to the software that Joe Hacker wrote prior to joining Yoyodyne, Inc?
  2. Who owns the copyrights to the software that Joe Hacker will write for Yoyodyne Inc?
  3. What software projects can Joe Hacker contribute to while at Yoyodyne Inc?
At least the state of California provides clarifications that what you do on your own time without office equipment is your own but a lot of corporate legal agreements contain language that could try to abuse this in other jurisdictions, so the above questions need to be considered separately for both the case of when Joe Hacker is on the clock or at home. I think its reasonable to say that in terms of copyright one could assume that any company hiring any free software should be able to contribute to any free software project when at home and the very least Wikipedia. You'd be surprised, unfortunately this is not the case, and I'm afraid you might as well consider a different profession other than software engineering if you want to contribute freely to any free software project.

The situation is already a bit complex, now throw in patent considerations and things get even worse. I'm not going to get into the details and leave the considerations as an exercise for the reader. Remember that money talks and that companies and governments can toy around with our freedoms as they see legally fit, ethics can very easily simply be thrown out the fucking window. I will provide a clear conclusion and some advice for free software developers. The free software patent paradox does not need to be a paradox, you are a free person by nature! Don't set yourself up and don't go work for a prison, as you may easily simply get yourself locked up in there. The paradox does however present a serious problem in terms of evolution and the problem of creating more highly evolved business models that respect and take into serious consideration the evolution of freedoms in a more timely manner. In my next post I will explain why this is necessary.

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.