An open source licence for FOSS platforms only

Topic: 

Here's a suggestion that will surely rankle some in the free software/GPL community, but which might be of good benefit to the overall success of such systems.

What I propose is a GPL-like licence under which source code could be published, but which forbids effectively one thing: Work to make it run on proprietary operating systems, in particular Windows and MacOS.

The goal would be to allow the developers of popular programs for Windows, in particular, to release their code and allow the FOSS community to generate free versions which can run on Linux, *BSD and the like. Such companies would do this after deciding that there isn't enough market on those platforms to justify a commercial venture in the area. Rather than, as Richard Stallman would say, "hoarding" their code, they could release it in this fashion. However, they would not fear they were doing much damage to their market on Windows. They would have to accept that they were disclosing their source code to their competitors and customers, and some companies fear that and will never do this. But some would, and in fact some already have, even without extra licence protection.

An alternate step would be to release it specifically so the community and make sure the program runs under WINE, the Windows API platform for Linux and others. Many windows programs already run under WINE, but almost all of them have little quirks and problems. If the programs are really popular, the WINE team patches WINE to deal with them, but it would be much nicer if the real program just got better behaved. In this case, the licence would have some rather unusual terms, in that people would have to produce versions and EXEs that run only under WINE -- they would not run on native Windows. They could do this by inserting calls to check if they are running on WINE and aborting, or they could do something more complex like make use of some specific APIs added to WINE that are not found in Windows. Of course, coders could readily remove these changes and make binaries that run on Windows natively, but coders can also just pirate the raw Windows binaries -- both would be violations of copyright, and the latter is probably easier to do.

If the licence is GPL-like, then the original company would not be able to incorporate community improvements into their proprietary windows product (without open sourcing that.) Though they could recode by hand any bug fixes they got from the community, you can't readily stop that. They could also use one of the various licences used by some open source companies which demand that all patches be assigned to the company. In that case they could use them if they wished, but they would scare off some people from contributing. This sort of thing probably makes more sense in a licence aimed at WINE porting, since most people who would patch a program to run under WINE might very much want the company to incorporate their patches in the official binary. People can of course write patches and offer the patches (not the modified programs) under any terms they choose.

In fact, many companies might find that while some users would like the FOSS version under WINE, many users might well elect to buy the official, patched-to-run-under WINE version in order to get support and new features, giving the company more sales rather than losing them sales. Really paranoid companies might release their program only partly -- with highly stable and portable binary libraries, and less portable UI and OS interface code as source, allowing people to build a working version. They could keep their secrets in the binary libraries. Skype is planning to do this with their linux version -- releasing the source to the UI, but keeping the core in binary libraries. Many expect that this will work, that developers will come forward to improve Skype and hack it to work better on Linux.

The core goal remains this: A company has a cool and popular program on Windows but does not plan to publish it on Linux. Lots of Linux users want the program and are annoyed they can't get it on Linux. The fans make it work on Linux or on WINE. The community wins and the company wins. The main group bothered would be strong GPL advocates, who do not like to mix proprietary and free code, and do not wish to work on code when there are restrictions on what can be done with it -- even restrictions that only forbid something they would never want to do, such as build the program for Windows.

These restrictions would block some people from bundling the open source versions of the programs with GPL based OS distributions, though I see no reason they could not sit in binary repositories and be easy to add to any system.

Aside from secrets, there is a risk companies might not do this because they do see a loss of sales. Some programs are so important that people buy computers just to run them. We could certainly see a person deciding to set up a Linux computer with free Photoshop as opposed to buying an expensive Mac with expensive Photoshop if that is their prime goal. There are people who are Linux fans who still run a Windows computer, or have Windows in a virtual machine, just so they can run those few key Windows-only programs they have bought. If these sales would be lost, some companies might well be scared of doing this. However, the further steps required (such as personal-use-only restrictions) would probably scare away a lot of FOSS developers.

As noted, things like this have already happened, with programs like Xara LX, and the coming Skype UI. The companies can of course think up their own terms for how to release code in this fashion, but a standardized licence would make it easier for companies to do it, and easier for coders to understand what had happened.

Comments

The license you're talking about already exists, but it's hardly used at all. It's the Aladdin Free Public License. It doesn't allow you to distribute the software on the same media as any proprietary software. As far as I know, Ghostscript is the only package that uses it. It's been around for about twenty years now. If your idea was a good one, someone would have likely picked up the AFPL.

The AFPL, as far as I read it, is a no-commercial-distribution licence.

What I'm talking about is a licence that tries to say, "Versions that run on Windows are the province of the original software author. On FOSS platforms, treat it like GPL."

That is definitely not what AFPL says.

As to whether people will use it, I think the following are true:

  • There's lots of good software found on Windows which is not available on Linux and for which the vendor has decided they do not want to sell to the Linux market.
  • Some of those vendors might be happy with letting the FOSS community port their systems to Linux, *BSD etc. as long as it doesn't hurt their Windows market very much, or in particular actually helps them (by providing more community, bug fixes, enhancements etc.)
  • There is some set of terms that will convince vendors to do this, the question is, are those terms too onerous to the FOSS community to attract developers?

I think we would all love it if Adobe would let the Linux community port Photoshop to Linux. Is there something that could make that happen?

"plan b" sounds more like some kind of drm... nasty

plan a reeks of eula's. this kind of thinking probably wouldn't even exist if people had the sense to stop making people click on dialogs where they "agree" to the gpl as a prerequisite to installing. the gpl doesn't require compliance until you try to REDISTRIBUTE the software, eh?

No, it's not a DRM. A DRM is a technology to make sure something only works on an authorized player. You will need to explain to me what in here is like a DRM.

As for EULAs this is very definitely not that. The GPL essentially works by saying, "You may only copy this if you obey the following rules" and gives rules about requiring you to publish source, and pass the rights on to all you copy to. This would work the same way -- "you may only modify this code for purposes other than running on Windows." If somebody makes a modified version of the code (a derivative work) including a compiled binary, and it is for Windows, they are not given permission to make the work, and so it is as much a copyright violation as an unpaid WAREZ version of the official Windows binary would be.

No offense, but bwahahahaha. Qt was just like that initially: free and open source, but only on Linux and similar platforms. The result? Hardly anyone used it at all. And Firefox? How exactly do you figure they competed with IE? By running on the same platform: Windows. Duuuh! Want more examples? Open Office.

Of course there are projects that are big enough and important enough that people develop them for all platforms, like Firefox. Is QT a huge success? Perhaps not, but it is not a failure.

So what other proposal would you put forward to get these Windows packages ported to Linux? The companies don't want to do it, and only for a few of them is the FOSS community ready to do a Firefox like effort to duplicate them.

Someone pointed out that in a sentence like "I promise", the deed being described by the sentence is identical with the sentence itself. Saying "I eat" is not the same thing as eating, but saying "I promise" is the same thing as promising. (Saying "I regret" is the same thing as regretting, but it is possible to regret without saying so.)

"What I propose is a GPL-like licence" is almost in the same category. All you have to do is draw it up and post it on the web and it exists. Whether or not anyone uses it, of course, is a different matter.

Yes, my main goal is to stimulate discussion of

  • whether it's a good idea
  • what terms would be likely to entice owners of Windows packages to release their code to the FOSS world
  • what terms would be likely to encourage or discourage FOSS programmers from contributing to such packages

And see where people think the balance lies. The big barrier, unfortunately, is probably that vendors of proprietary programs might feel that they are giving away their crown jewels if they put the source out there.

The OpenMotif license is another example of an existing software license that's intended to work this way (and that apparently works well enough for some Linux distributions to ship it).

I had forgotten about that one. BTW, I don't think the GPL forbids having a linux distro that includes proprietary software, but some people seem to so they always make it download the proprietary code to keep people happy.

"vendors of proprietary programs might feel that they are giving away their crown jewels if they put the source out there!"

I suppose that is a reasonable fear. After all, consider music files which are available illegally over the internet. The fact that the license (buyer can make a reasonable number of copies but not distribute to the world) exists and forbids something doesn't prevent tens or hundreds of millions of people from just ignoring it.

They have already allowed their binaries out into the world, and those who will ignore the law will pirate them. Even if they put CD codes or phone-home registration in the binaries, people always remove those for popular programs and put them on warez sites.

No, I am talking not about this, but about fear they are exposing trade secrets and special algorithms.

However, many companies find that there is no big whoop to letting their source out. The competitors of many big tools are not sitting around wondering "how did they do that?"

Add new comment