-3

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?
  • Comments about downvotes appreciated. I haven't done much on this exchange but I spent quite a bit of time looking around trying to get a feel if this is an on-topic post. Suggestions on where to repost, or how to improve welcome – Assimilater Sep 30 '16 at 5:46
  • 2
    opensource.stackexchange.com might be a better place to ask (but I am not sure). BTW, I believe the reasoning of your employer is flawed: publishing some free software driver does not give a lot of information about the hardware, because the issue in hardware design is not defining its interface (which matters for the driver) but designing the implementation (look at various implementations of x86, they are mostly secret -neither AMD not Intel is publishing a lot of details- but free compilers for x86 do exist). – Basile Starynkevitch Sep 30 '16 at 6:16
  • 2
    It's blatantly off-topic, because even though it is not explicitly stated in the help center, there is an implicit assumption that all questions posted here need to be answerable by the users of the site. Yours requires an experienced copyright lawyer, probably more like an entire international law firm. But there are no lawyers here, only programmers. Your summary question #1 is off-topic for being a resource request. Your summary question #4 is off-topic for being a list question. The entire question doesn't meet the "general use-case of licenses" criteria, because it is a) not general … – Jörg W Mittag Sep 30 '16 at 6:43
  • 1
    @BasileStarynkevitch: It's not an Open Source license because of the no-compete clause: "I would want to prevent businesses, however, from reselling a derivative operating system to compete with the one developed by the community." The only SE site that seems at least somewhat on-topic would be Law. However, one needs to be careful to not wander into "legal advice" territory. The users of that site are even more careful about giving anything resembling legal advice, because many of them cannot pull the "IANAL" defense: they actually are lawyers and if they give something that may … – Jörg W Mittag Sep 30 '16 at 6:49
  • 1
    … be construed as legal advice, they may actually be liable for damages caused by acting on that advice, depending on their jurisdiction. – Jörg W Mittag Sep 30 '16 at 6:52
3

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

  • 1
    Actually, Linus said in his announcement that Linux will never be as big and successful as the HURD, because it is just a toy, and the HURD is developed by an entire team of developers backed by such a large and professional organization as GNU and the FSF :-D – Jörg W Mittag Sep 30 '16 at 15:10
  • 1
    I pretty much anticipated the bulk of this kind of a response. I'm aware developing a fully-fledged operating system is a monumental task, and I certainly wouldn't do it alone (maybe bits and pieces for educational pursuits, but that's it). However, your middle paragraph did help to illustrate for me the challenge of the licensing question I wished to focus on. Thanks :) – Assimilater Sep 30 '16 at 20:31
  • The first part, is probably more important, licensing worries only exist if anyone uses it. – Michael Shaw Sep 30 '16 at 21:31
  • Or if people other than myself start contributing to it... – Assimilater Sep 30 '16 at 21:54
  • Yeah, if other contributors retain ownership of their contributions, then you need to be water tight on how they have licensed it. But you then introduce the problem of their entitlement to a share of the commercial license fees. Do you have a solution to why would anyone want to use it issue? – Michael Shaw Sep 30 '16 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.