Question

In a recent internship, I worked on a project involving traffic detection using radar. The company developed their own unique hardware and ran Windows Compact Embedded on an ARM processor. I thought this was a bit odd (I mean Linux is always better, right? :P)

Turns out the root of the concern for the company was, because they developed their own hardware, it seemed too likely they would run into a situation where they would need to modify the kernel in some way to run on their hardware. The licensing of Linux would require them to release those changes. This would provide unique insights into the hardware details to the competitors they keep ahead of.

This kind of reinvigorated my childhood dream of making an operating system. I'm starting by thinking about how I would license it in a way that would give it an advantage in the market rather than being "just another operating system" that gives programmers more compatibility/cross-platform nightmares; and hopefully one that would actually unify all (or close to it) aspects of computing (that's the dream anyways).

Some Side Comments:

  • Rest easy, I don't have a timeline for this or anything, I've taken some college courses and realize I still have a LOT to learn before anything I make is worthwhile in this regard, and I would definitely seek collaboration from the open source community; assuming they accept the idea which I'm honestly just playing with at this point
  • I'm aware this may be an XY kind of problem. The licensing question may hold merit in other applications, though. Another alternative to this kind of licensing I've thought of: In practice there may not be a need for a company to modify an operating system if it's designed in a slightly more modular way. For instance, in WinCE, the operating system depends on a "Board Support Package" which basically defines how the OS interacts with the most critical kind of hardware. This is developed by the businesses in question, though there are companies that offer consulting in this regard
  • I'm posing this question in the context of an operating system but I'd like to focus on the licensing for this question. I'll happily take comments on other suggestions of questions to ask about developing an operating system, and I have a few in mind.

Here is my current line of thinking

  • I would want businesses to be able to modify the operating system in any way they see fit for their reasonable needs (see next bullets) without worrying about needing to reveal trade secrets.
  • To be granted this privilege, a business should be required to give back to the community that made the operating system in a monetary manner, if not in a code support manner as is more traditional.
  • A "non-profit" could perhaps be the "owner" of the commercial licenses and the funds used to support the highest contributing members to the project from the open source community.
  • I would want to prevent businesses, however, from reselling a derivative operating system to compete with the one developed by the community. That's basically stealing. However, I would think it's fine to sell a "device" that runs a derivative of the operating system. This would admittedly be perhaps the most difficult issue to address. What's a "device"? Does it make sense if the main selling point of a company that sells customized laptops is that "our operating system is better?" Perhaps there could be a requirement about the hardware being sold is not something readily attainable in other parts of the market, or for which a reasonable solution already exists in said operating system.

In the probably much more common case, I would want this kind of pretty basic licensing

  • Any user could download the operating system and run it on their personal computer free of charge.
  • Nerdy folks would be free to make any changes they see fit to the operating system.
  • If such changes are to be redistributed, it would have to follow the idea of reciprocity: the changes must be made available via open source (preferably with a merge request made at which point the leaders of the project would decide whether or not it merits inclusion).

I'm not very familiar with the nuances between BSD/MIT, but it seems like they're closer to the "commercial license" I'm thinking of where perhaps a modified GPL is closer to the common case I'm thinking of.

In summary:

  1. Which existing licences most closely match what I'm looking at?
  2. How do they differ?
  3. What are some limitations I should be aware of with these criteria?
  4. And, if it doesn't make this question too broad, what are some other issues I should consider that I haven't thought of with this kind of license?
Was it helpful?

Solution

In short, you need a reality check, a lawyer, a set of software professionals, in this order.

First, creating a brand new operating system is one thing. Getting others to consider using it for anything as important as an operating system is probably a near impossible task. Unless you deliver so much "value" with your new OS that it can outweigh the implicit obstacles like the lack of widespread hardware support, proven maturity and no availability of software to run on the OS, its not going to be used by anyone, not even you. Unless you can solve this, the licensing terms are irrelevant.

Next, the licensing - In reading through your question, there are so many permutations that you have not covered, e.g. Can companies make money by distributing your version of the OS? What constitutes a modification that then forbids them from profiting from redistribution? What about if all they distribute is a patch to the OS? This is why you need a lawyer that is skilled in this area. Nothing else will be worth the paper its written on.

Finally, writing and supporting an operating system that becomes widely used is an immense task, that will require a huge team of people. Just ask Linus ;) In fact, Linus was helped considerably at the time he started, in that the competition offerings were either primitive (MS-DOS), or incredibly expensive Unix main frames, and even then, there were many years where the only role of linux was for academics and tech savvy students

Licensed under: CC-BY-SA with attribution
scroll top