Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If a company takes a permissively licensed open source application and then develops a closed source application from that by reworking extensive parts of the application, adding new features and applying bug fixes...

Ignoring any license requirements...

  • How does the transition happen and what can be done to prevent it beyond choosing a difference license?
  • What are the (ethical or social) responsibilities for the company? (For example: Giving back to the open source project would be the ethical thing to do)
  • If the open source version and closed source version are both available, how does the competition affect either product?

Are there any examples of companies or products that have done this (either successfully or unsuccessfully) in the past? What was the community attitude toward those projects?

share|improve this question
2  
I think .NET reflector might be a pretty good example of this. –  l46kok Jul 1 '13 at 10:30
2  
@l46kok I undid my upvote for your comment because Reflector was never open source, just free as in beer. –  Mark Hurd Jul 4 '13 at 6:50
add comment

2 Answers

up vote 15 down vote accepted

It's important to note that this scenario can happen in both legal and illegal forms.

This can occur legally if the company owns or has access to the copyright associated with the code. For example, smaller, independent development teams may wish to sell or license their copyright to a larger firm. Likewise, if the bulk of the code's copyright can be acquired, the "unattainable" portion may simply be thrown out and rewritten.

On the other side of the coin, the code may simply be taken illegally. New Corp, Inc. may not care what the legal ramifications are. The project may be too old or abandoned or New Corp thinks they'll win in a lawsuit. Or New Corp may be registered in an area where this sort of "acquisition" simply isn't defined as illegal. Not all OSS licenses are enforceable, especially not the ones that were cobbled together by non-experts in the law. Not all project owners may have the ability to enforce their copyright claims, and larger organizations such as the FSF may not have standing in that jurisdiction for that claim. TL;DR - this area can get hazy and ugly really fast.

Transition & prevention

How does the transition happen and what can be done to prevent it beyond choosing a difference license?

The transition occurs when New Corp, Inc. acquires the code base and places that copy under their control. New Corp's developers then begin working on their version of the code base making whatever changes the corporate overlords have decreed necessary. The actual mechanics of this fork will vary based upon the repository. And while it's a philosophically big deal, it's really pretty underwhelming in practice. get all from OpenRepos and then checkin to the PrivateRepos.

What can be done to prevent it short of never distributing the source? Nothing. Sorry.

Let's use GPL (GNU public license) as an example. GPL requires the source to be available to anyone receiving a legitimate copy of the project. There are no provisions that allow the holder of the source to refuse delivery of the source to a legitimate holder of a copy of the GPL'd application. It goes against the grain of Free software, and that's why the GPL copyleft is in place.

Potentially, you have after-the-fact legal courses of action to pursue. But those are all after the source has escaped and been forked, not before. And in some jurisdictions you won't have any legal recourse. And all of this assumes you're even aware that the fork occurred. You may never find out.

Ethics

What are the (ethical or social) responsibilities for the company? (For example: Giving back to the open source project would be the ethical thing to do)

Ethics are local to the culture. So temper this section with that grain of salt. A full discussion of cultural consideration of ethics is beyond the scope of this answer and off-topic for Programmers.

I have noticed that the programming community tends to react negatively to a hostile fork. Heck, in some cases the same community still reacts negatively to a friendly and legal fork. It's a pretty complex community.

From an FOSS perspective, there is an expectation that New Corp is going to "repay" the community for the contribution it forked. The terms, conditions, and duration of that repayment are as varied as the number of OSS projects in existence. Some in the community (think Richard Stallman) will never be content with an open project going closed. Others will look for the benefit provided to the community at large and will judge based upon that. And others simply won't care because they never knew of or cared about the origin project.

Source availability

If the open source version and closed source version are both available, how does the competition affect either product?

It really depends upon how comparable the two code bases are with respect to functionality, performance, and stability.

If the code bases remain similar and New Corp is friendly to the OSS community, they may contribute their updates back into the base project. In this case, everyone benefits. It's not a "competition" in this case, but more of a mutually beneficial collaboration.

If the code bases wildly diverge and New Corp is not friendly to the OSS community, then there still isn't a competition. The more feature rich product survives and the less rich product tends to die off. Note that this can go either way - the closed version could die off if the open source version continues to innovate or better meet the needs of the community.

The reality will be somewhere between those two ends of the spectrum.

Example

Red Hat has two main distributions - Enterprise Linux and Fedora. EL is their "closed" licensed version and Fedora is their community edition. Due to the GPL, much, if not all, of the EL edition is released in source form. Another project not affiliated with Red Hat called CentOS picks up the changes to EL and distributes that project after some minor rebranding.

There were some grumblings when Red Hat forked into two separate editions, but by and large, it's been a pretty workable agreement. The Fedora community wanted features rolled into the distribution faster than what Red Hat's enterprise customers were comfortable with. Enhancements to the code bases flow in both directions.

share|improve this answer
1  
@GlenH7 Good answer covering technical and legal apsects :) –  hagubear Jun 30 '13 at 13:13
1  
don't forget that one may well take over a codebase and not be aware of the link to some open source library that's hidden deep inside the several million lines of code, hundreds of poms, ant files, makefiles, etc. etc. especially if it's an indirect link. We've had that happen, and had a hell of a time cutting out the affected code and replacing it with something we could distribute. –  jwenting Jul 1 '13 at 6:14
add comment

Assuming that everything is legal and above board, and that we are talking about a product that has a kosher open source license before the process starts:

How does the transition happen ...

Basically, the company makes a new release of the software with the non-open source license.

and what can be done to prevent it beyond choosing a difference license?

In general nothing. The only case where it can be prevented (or delayed) is if there are multiple copyright owners, and some of them object to the re-licensing. But if the company is serious, they could decide to solve that problem by rewriting the relevant parts of the code-base, etcetera.

Attempting to apply "moral pressure" before the fact probably are unlikely to work. The company is likely to do this kind of thing without any prior notification.

Having said that, there are examples where attempts to "wind back" open source has backfired on the company doing it. Consider the cases of OpenOffice, Hudson and MySQL, where the actions of Oracle have lead to a fork, a mass exodus of the developer community and (for OO and MySQL) distros increasingly dumping the original product in favour of the fork (LibreOffice and MariaDB).

What are the (ethical or social) responsibilities for the company?

To be frank (and somewhat cynical), it is not relevant what you and I think the ethical and social responsibilities of a company should be.

From a legal perspective perspective, the company directors' and executives' sole responsibilities are 1) to maximize value for the share-holders / owners, and 2) ensure that the law is obeyed. You could argue that as individuals, these people have social and ethical responsibilities, but ... unfortunately ... many of them would disagree.

But either way, ethical and social responsibilities are only relevant in a practical sense if the company and its officers take them on board and take them seriously.

If the open source version and closed source version are both available, how does the competition affect either product?

I don't think there is an answer to this. It depends on the circumstances.


Are there any examples of companies or products that have done this (either successfully or unsuccessfully) in the past? What was the community attitude toward those projects?

Yes there are examples. Just Google for the phrase "goes closed source" and apply a bogosity filter. Reading through the (non bogus) hits will give you a feel for community attitude, and if you research further into the products / companies you can make up your mind whether they were successful or not. (I'm not going to do this for you because "successful" is a value judgement.)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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