Welcome!

Java IoT Authors: APM Blog, Jnan Dash, Elizabeth White, Stackify Blog, Liz McMillan

Related Topics: Linux Containers, Java IoT

Linux Containers: Article

If Sun Released Java Under an Open Source License, What Type of License Might It Use?

The Case for "Open Source/Closed Standards"

Related Links:
  • Red Hat Says Sun Should Open Source Java
  • Is "Free Software" Dead?
  • What's New Under the Sun? Sun's John Fowler talks to LinuxWorld Magazine


    There's been some debate recently on the license-discuss list hosted by the OSI on how to release code as open source while still requiring that it be compatible with a test suite that must be distributed as part of the code.

    The initial discussion was kicked off by Bob Scheifler of Sun Microsystems. Bob's original post was:

    "For my personal edification, and hoping this is an acceptable inquiry, I'd like to understand if and specifically how the following informal license sketch conflicts with the OSD. Any and all comments appreciated.

    1. The licensed work consists of source code, test suite in executable form, and test suite documentation.
    2. A derivative work in executable form that has passed the unmodified test suite can be distributed under a license of your choosing.
    3. Any other derivative work can only be distributed under this license.

    Any such distribution must include the unmodified test suite and test suite documentation."

    The idea would be to somehow require that derivative versions of the code would pass the test suite distributed with the code. As long as the derivative work passed the test suite you could distributed the code under any license you wanted - but if your derivative work did not pass the test suite, you'd be required to distribute it with the test suite included under the above sketch license.

    One use for this type of license would be to release code that implements some sort of API under an open source license, while ensuring that no one can change the API itself. For example, if Sun were to want to release Java under an open source license, this may be the type of license it would choose.

    By requiring that any derivative works pass the test suite, Sun could ensure that no one could publish derivative versions of Java that were incompatible with their version. The open source community (and other companies) could freely publish implementations of the code that passed the test suite, but Sun (or at least the JCP) would remain in control of Java as a standard.

    Hence the phrase, Open Source/Closed Standard.

    So, is this a good idea? Can something be considered to be "open source" if some organization stays in control of the standards that the software implements?

    Personally, I believe this should be fine. It's to everyone's benefit to allow open source implementations of standard API's while preventing fragmentation of those API's.

    For a good example, just look back a few years ago at the mess caused by Microsoft delivering an incompatible version of Java. Microsoft took advantage of their Java license and created a JVM (the MSJVM) that implemented what they called 'improvements' to Java (can you say 'embrace and extend'?).

    This caused a huge lawsuit between Sun and Microsoft. Sun claimed it was anti-competitive behavior and that it fragmented the Java standard (and they were right on both counts). It was to no one's advantage (except Microsoft's) to include a version of Java in every instance of Windows that was incompatible with all the other JVM's that were available.

    (Originally published here under a creative commons license)


    Related Links:

  • Red Hat Says Sun Should Open Source Java
  • Is "Free Software" Dead?
  • What's New Under the Sun? Sun's John Fowler talks to LinuxWorld Magazine
  • More Stories By Kevin Bedell

    Kevin Bedell, one of the founding editors of Linux.SYS-CON.com, writes and speaks frequently on Linux and open source. He is the director of consulting and training for Black Duck Software.

    Comments (9) View Comments

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    Most Recent Comments
    Robert Marcum 10/01/04 09:22:03 AM EDT

    Why would you have a license for a standard specification based software like Java where you would allow ANY version which does not pass the specification validation suite to be distributed? !!

    It seems to me you could make the source available under a license that says, "Make what ever changes you want. And, you may distribute your work under this license freely, but only if it fully complies with the specification and passes the validation suite."

    Derek Berube 09/28/04 11:16:22 AM EDT

    I'm a big Java fan and love the "Write Once Run Anywhere" mantra. As a developer, I'd rather maintain a single codebase and allow my customers to choose their runtime platform based on the merits of the respective hardware platform.

    From an open source perspective I can appreciate what Sun is trying to accomplish by preventing forking of the code. You can say it isn't likely to happen, but Microsoft inherently "forked" the code in their MSJVM implementation.

    I think that the open source community could vastly help improve some aspects of the Java platform - look at how the JDK has benefitted from the inclusion/use of the Apache XML parsers. As another example, the 1.4 release of the Mac JVM supported sharing resources across virtual machines thereby reducing memory footprint and startup times. That type of functionality is soon to be made available to the rest of the Java community in the J2SE 5.0 release.

    Above all, I want full support of the Java specifications that are produced by the JCP. Anything that doesn't meet this can't use the Java brand. JVM compatibility is extremely important to me as a developer of Java products.

    Dalibor Topic 09/28/04 06:33:00 AM EDT

    If Sun's legal team sees the OSD as a challenge to write the most ambiguous license that still meets the OSD criteria but subverts the right to fork, that's still going to go down in flames, and leave Sun with another PR debacle. If you read the discussion, you can notice how people are getting increasingly annoyed about speculative attempts to wiesel around the OSD in order to tie in significant restrictions that are contrary to the spirit of open source.

    If Sun really wants to open source their Java(TM) implementation, they could talk with the ASF, FSF and the Eclipse foundation on how to do it right, and *then* submit a license that has a fighting chance of meeting *both* the requirements and goodwill of the respective communities.

    cheers,
    dalibor topic

    JavaLover 09/28/04 04:43:50 AM EDT

    It is interesting how every discussion about the future of Java boils down to "how can we prevent Microsoft from just killing it". There just does not seem to be any other problem that could not be solved in more that one way. Sun cannot take Java into open source only because of the Microsoft threat. There is no other power on Earth that could, in practice, hijack Java. It seems that market forces, government and courts are just unable to deal check such a concentration of wealth and monopoly power.

    Maybe, it is time to recognize that some categories of software are so vital that they in fact represent infrastructure that needs to be regulated by independent bodies, users or maybe even government. The format of office productivity suites springs to mind. We should have some rights regarding the documents we create. At the moment these are Microsoft Intelectual Property (according to Balmer). Maybe Java, as a cross-platorm should also be regulated in such a way. There are many arguments against this (stifling inovation) but there does not seem to be any other option that $40bn will not neutralize.

    Gartner Group has just called Windows a perpetual beta test. Are we willing to live with such infrastructure? It seems that this is acceptable only in the software business and no other infrastructure (telephony, post, air transport, traffic) - everywhere else, we have standards that prevent companies from "innovating" to their heart's desire.

    We just do not seem to be aware that MS Office and J2EE are vital infrastructures of the modern economy.

    jdkane 09/27/04 10:55:41 AM EDT

    Can open source and closed standards work together?

    Yes, anything can work if you make it work, and Sun is a hard-working company. The other questions is: Do we want it to work?

    Why not. Sun has to maintain some kind of reign on the technology if they are to control it properly to compete against (for example) Microsoft and .Net.

    Kudos to them ... they're trying their best to serve the best of both worlds: their own, and the Open Source community. Maybe it doesn't look like it's giving as much control to some developers as they want, but it's better than nothing. And the two sets of interests do compete ... so - again - kudos to Sun for even trying this. At least they're trying something new and innovative instead of saying it cannot be done.

    reporter 09/27/04 10:02:46 AM EDT

    Open source can work with closed standards under 1 caveat: the open-source programmers may need to rename a variant on the closed standards.
    The situation is analogous to building a chip that runs an instruction set architecture (ISA) owned by a competitor. The ISA is a closed standard in the sense that the company owning the ISA has trademarked its name. For example, MIPS technology trademarked the name "MIPS". A competitor, Lexra, then implemented a subset of the MIPS ISA, omitting 2 instructions. Lexra said that its chip is MIPS ISA compatible. MIPS sued and won. If Lexra had, instead, labeled its chip "MIPS ISA flavored", not "MIPS ISA compatible", then there would be no legal problems.

    Another good analogy is Microsoft incorporating the Java runtime environment in its browser. The environment was not fully compatible with Sun's closed-standard for the Java runtime environment. Sun sued and won. If Microsoft had claimed that the browser was equipped with a "Java flavored runtime environment" or "JavaPlus[tm] runtime environment" (and trademarked "JavaPlus"), then there would be no legal problems.

    I do not see a problem here.

    Open source is now a credible movement. The open-source development lab (OSDL) and the free software foundation (FSF) have sufficient clout that if any team of talented programmers created a language called "JavaPlus", derived from and mostly (but not entirely) compatible with the closed-standard Java, there is the strong likelihood that JavaPlus would come to dominate the market for Java. Then, Sun would need to kiss OSDL's or FSF's ass. Sun would be forced to alter the Java standard to make it compatible with JavaPlus.

    Kris Holland 09/27/04 09:28:23 AM EDT

    "Can open source and closed standards work together?

    No they can't really, and even if it were possible why wouldn't people just use Eclipse?

    "Under such a scheme Sun could maintain control of the Java API but allow open implementations."

    Sun never learns. When they got into fight over Java with Mircrosoft the result was MS making .NET. When will Sun decide to open Java up when Java becomes as much as an underdog/hasbeen as Solaris.

    No one cares anymore Sun, the community is just routing around you and soon you will be insignificant.

    anonymous cowherd 09/27/04 09:16:36 AM EDT

    Sun should just take a lesson from the Python Software Foundation. Although I don't like how Python's current implementation basically acts as a de facto standard (there should be a real standard rather than just a reference implentation that doesn't really reference anything), Python's implementation and "standard" are both open. Anyone can take Python and fork it in incompatible directions. Just take a look at all the posts in comp.lang.python regarding Python-derived languages.

    How has this affected Python? Not a bit. If anything, it's encouraged innovation through the Stackless and IronPython projects.

    I think what Sun is really worried about is trademark dilution. If that is the case, why not just specifiy that any derivative works must be named something other than Java? The only practical effect this would have is to make the licence GPL incompatible, since most people will rename a fork anyway. However, it does preserve Sun's trademark.

    Sun could still certify implementations as Java compatible, giving them the right to use the phrase, too. If there were a reasonable fee involved for certification, then Sun wins another revenue stream. It's a win-win.

    orcmid 09/27/04 08:11:02 AM EDT

    A few things about this article. First, I think there is an important difference between problems like open-source software that implements TIFF or PDF in some way (both specifications being held as proprietary).

    Secondly, it is probably not appropriate to refer to a "closed standard" because it doesn't mean the same as "closed source." I don't have a better term.

    Third, which I think is the case here, has to do with specifications that embody interoperability agreements. How does one ensure that someone doesn't fork the interoperability and hi-jack it in favor of the direction taken by a given implementation variant. Obvious examples in the past have to do with Netscape/Microsoft competition over HTML and browser-extension mechanisms, and current prospects for similar variations.

    When we took ODMA and DMA to open-source (http://DMware.info/), there was some concern about disruption by forking of the middleware functionality, interfaces, and integration model. The worry for DMA was baseless (it has not been implemented in an interoperable way anywhere) and the concern for ODMA remains since its middleware is in use and people do have access to the middleware source code.

    However, the open-source license that you describe doesn't qualify under the freedom to use in any domain and application, it seems to me. The solution that I have looked at is the non-confusion principle. That is, you can't offer a derivative work as a version of the covered work unless you pass whatever the test is. It is a labeling and identification matter. You can't promote the fork or deviation as satisfying the specification and you can't name it in a way that would confuse or deceive adopters of it. That's clear enough but the gray areas create problems. I think one doesn't deal with those unless they come up. We usually worry too much about forking in the absence of an infraction.

    I remember being concerned with how "extensions" and "improvements" that do not preserve legacy compatibility are handled. Also, is the improvement one that can be removed if it is necessary to revert to something that is consistent with a reference implementation? Those are the cases that I wonder about: playing nice and always preserving the user opportunity to make substitutions and to cross backward to something that conforms to the specification is what matters to me. But the best restriction, I think, is that a specification-deviating derivative work must not be identified in any way which confuses it with a bona fide implementation. And the source code remains open-source software.

    Finally, there is no way to prevent an independent implementation that is equivalent to forking, since copyright simply doesn't handle that. Consequently, strong compliance with the specification can't be handled solely by a copyright license. It takes something else. I haven't looked at trademark requirements, but the organization that supports the specification might want to look at that. Tying to the open-source license with a non-confusion clause strikes me as an useful light-weight provision that might get enough of the job done, without worrying about the seriously adversarial provisions where the lack of goodwill undermines any license you can think of.

    @ThingsExpo Stories
    Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
    "MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
    "Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    "IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
    "Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
    Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
    Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
    "Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
    "There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
    SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
    SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
    It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
    WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
    A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
    SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
    Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
    To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
    An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...