Sun recently announced it would open-source its Solaris operating system. While declining to get specific about timetables and the type of open-source license the company plans to use, John Loiacono, executive vice president of Sun’s software group, promised that Sun will “be very aggressive and progressive in our approach.” For now, all we can do is speculate.
There is a widely held assumption that Sun’s motivation is to emulate the Linux phenomenon with Solaris. If we apply the computer-science principles of emulation to this announcement, the license (once it is available) will provide considerable hints as to where Sun is going.
Emulator design is the process of examining aspects of a system in its native environment and determining which native aspects are essential, which are undesirable and which “emulator aspects” should be introduced to further the goals of the emulator designer. A well-designed emulator removes the undesirable aspects and introduces emulator aspects not present in the native system, while replicating the essential aspects as closely as possible.
A tornado simulator is a good example of an emulator. A well-designed tornado simulator will accurately replicate and measure airflows — either in the lab or in a computer model — that are found in the tornado’s native environment, remove undesirable aspects like flying houses or cars, and add emulator aspects such as cameras in the eye of the tornado.
Emulation Design Focus
A good example of computer emulation is my Palm OS emulator, which allows me to run Palm OS programs on my PC. The essential aspects include interaction with a Palm OS database and presentation of a user interface that replicates the Palm display and buttons. Undesirable aspects include a requirement that I own each version of the Palm device I want to emulate. Other emulator aspects include the ability to monitor variables and step through programs more slowly than real-time.
Another good example of an emulator is the SimCity line of computer games, wherein the essential aspects of a town (layout, citizenry and economy) are replicated while leaving off undesirable aspects (such as the money, the timescale and the land needed) and introducing emulated aspects, which includes the ability to put a whole town in suspended animation while you go to your day job in real life.
Looking at the differences between the native system and the emulation features, you can discern the emulator designer’s focus. In SimCity, you cannot insert a tornado or provide eight types of cream cheese on the bagel shop’s menu because that was not something the SimCity designers focused on. But you can generate a daily newspaper, emulate a mayoral election and so on.
What does this have to do with Solaris?
Let’s assume that Sun wants to emulate the success of the Linux movement. The terms of the license agreement the company uses to open source Solaris will indicate what aspects of the Linux phenomenon the company considers essential, what it sees as undesirable and what emulator aspects it decided to add.
The Linux phenomenon is more than just the code. It includes a community, a perception, a market, press coverage, developer attitudes and corporate attitudes. In essence, it is a brand. There is more to it than just the wrapper.
Essential Aspects
So what essential aspects of Linux does Sun want to emulate? First would be widespread use of the code and considerable mindshare. If Solaris could get half the installed base of Linux to switch, Sun would succeed beyond everyone’s expectations.
To get there, Sun needs open-source terms that keep everyone talking about Solaris, which would encourage programmers to tinker with it, create jobs and, most importantly, get discs to people who would put them in their drives and install the operating system.
At a minimum, the license would allow others to tinker freely without Sun’s prior permission or oversight.
Of course, Sun could replicate the Linux phenomenon by just running the native environment and distributing Linux itself, but then it would not really be emulation. It could not remove the undesirable aspects and add the emulator aspects.
Undesirable Aspects
We already know that one of the aspects of Linux that Sun considers undesirable is that it is splintered into several code forks. We can expect Sun to craft licensing terms that it hopes will reduce the incidences of code forking.
Another is that Linux is licensed under a “modified GPL license.” Because the text of the GPL is arguably ambiguous, the interpretation of the terms by different licensors creates legally different licenses from the same words. Under the modified GPL license, it is not clear exactly when a derivative work is created. While this is not part of the code, it is part of the Linux phenomenon. Sun would likely not want to replicate this aspect, given the heat that some have — wisely or unwisely — put on the GPL.
If Sun’s goal is widespread development for corporate use, Sun might include licensing terms where downstream constraints against constraints are not required.
The revenue model also is undesirable. The original developers do not receive direct remuneration from Linux, while others, such as RedHat, make significant money. The developers get speaking engagements, prestigious jobs and the adoration of fans. But without salaries, these benefits are not aspects of Linux that Sun would care to emulate.
Emulator Aspects
Sun will undoubtedly add emulator aspects that provide more control. Expect to see license terms that provide control over third-party claims, such as third-party, patent-infringement claims over some elements of Solaris. With the appropriate license terms, Sun can terminate downstream licenses to specific elements of the code base to prevent ongoing infringements, or allegations of infringement, of third-party patents.
Another emulator aspect Sun might want is an improved provenance, and one that originates with Sun. For instance, Sun might want license terms that limit an ability to claim that a distribution is Sun-authorized or that originated with Sun when other code was added. Sun might also want to include a requirement that added code be vetted by Sun to make it into an “official” distribution, something that cannot be entirely accomplished with Linux.
Divining the Emulator’s Intent
So far, we can only guess what Sun is up to. Once Sun specifies exactly what its open-source license will look like, we can examine it carefully and extract the company’s intent — what it believes is essential and undesirable, and what it hopes to add.
To be clear, the license terms only provide limited insight. Some terms of the Solaris open-source license will derive not from any emulation paradigm but from the need to reduce risk. Sun also might want a patent-retribution clause to pull the rug out from under anyone who might sue them for patent infringement. There is no guarantee that what Sun has in mind will actually come to pass.
While we can only speculate about Sun’s motivations, it is fair to point out that emulation is a sign of respect. We emulate mentors, teachers or role models. Imitation, on the other hand, is a sign of flattery. We imitate rivals or competitors. Perhaps, in the long run, this distinction will provide all the insight we need into Sun’s decision.
Phil Albert, a LinuxInsider columnist, is a patent attorney and partner with the San Francisco office of the intellectual property law firm Townsend and Townsend and Crew LLP.