3

I hope I'm in the right place to ask that.

I have a question regarding the practice of open-sourcing a proprietary library that we built and use at work. The licence will probably be MIT. I like the idea, but here comes the unusual part : I have been tasked to remove some of the most advanced features. Those will remain on our servers, available as a service. We will open-source the (JavaScript in case it is of interest) library, along with a minimal associated server code.

I am not asking a question about the technical problems (I imagine we will have to maintain and synchronize somehow different repositories, maybe with incompatible pull requests, but this question is for another day).

What I would like to know is:

  • How that would be perceived by the community at large ? Does it risk killing the eventual interest in this library?

  • I don't personally know of any library that works like that. I'm pretty sure it is possible however, but any evidence of such a library is welcome (successful if possible). That's also because I'd like to see how they present it.

  • More importantly, what could be the rationale for/against it? I'm not sure I understand the consequences of doing it so.

EDIT

After learning a thing or two from the answers and comments, I've collected here a few examples :

As a developer, I would use the product we are going to release it in personal projects, so I think it's useful. But I have been working on it and I have an obvious bias.

Also, most feedback I've seen basically says "you can try, but it won't work". See also http://blogs.gartner.com/brian_prentice/2010/03/31/open-core-the-emperors-new-clothes/

If someone is able to find a successful product doing open-core, I'd be grateful.

  • Just try, and be honest (i.e. document that the open source library is a stripped down version of some proprietary thing). Dont expect a lot of interest at first. – Basile Starynkevitch Jun 11 '14 at 13:08
  • don't ask for things like "how will people perceive it", that's subjective and reason for closing the question. – jwenting Jun 11 '14 at 13:16
  • 1
    Artifactory does something like this: Basic functionality is free, but you need to pay for their proprietary package if you want things like NuGet support... – Wilbert Jun 11 '14 at 14:30
  • Proprietary Chrome and its open source Chromium come into mind as well. – Arseni Mourzenko Jun 11 '14 at 14:59
3

This is called Open Core, and can refer either to two different editions of the product (Free and Enterprise, for example, in this case the "open core" refers to the core functionality) or to a single product with a plugin architecture, where the plugin host and a set of basic plugins are Open Source and the vendor sells additional proprietary plugins (here "core" refers to the core of the library/app).

The other popular Open Source business model is the service model, where your product is Open Source and you sell additional services, maintenance contracts, training, installation and so on.

  • Giving the terminology definitely helps. I was also able to find some other references using that term. I'll update the question accordingly. – nha Jun 12 '14 at 20:17
1

Can you do it? Sure. It's no different in effect from taking an existing OSS project and building a proprietary layer on top of it to add functionality which you then sell, you're just doing it in reverse.
Will people react with hostility? Of course. The open source zealots already hate you for not being one of them and having any source at all you keep to yourself, that's not going to change. But as long as what you release is functional and not so limited as to have every method call respond with "contact us at www.somecompany.com to buy a license to use this" pragmatic people may well adopt it if it suits their needs.
What's the pros and cons? You potentially get other people to help with development of your product. But at the same time you're going to have to spend time guiding and controlling that process in order to not lose the interface with the code you do keep to yourself (I assume you're considering open sourcing it in order to shove part of the development effort towards free labour, a common reason). Whether that monitoring and controlling work is more or less expensive than doing your own maintenance is impossible for me to tell, and impossible for you to tell as well until the project is well underway as it depends on the maintainers you attract as well as on the amount of code and the amount of work that needs to be done on it that gets moved to an OSS license.

Overall I'd say it's a potentially smart marketing move, but a risky and possibly expensive technical move, unless you're effectively abandoning the codebase, freezing your own version and just moving on to something else.

  • One other potential scenario - the community warmly adopts the product and builds open-source replacements for the functions you plan to sell. Goodbye revenue stream. – Michael Green Jun 12 '14 at 11:25
  • Yes, it is a possible scenario. And not the worse IMHO. We could then choose to go on with the open-source replacements or open-source more code (and benefit from the interaction in both cases, as well as the reputation if done properly). But as soon as "the community adopts the product", I'd be happy. – nha Jun 14 '14 at 9:59
  • 1
    @nha problem is that the vast majority of projects dropped on the OSS "community" aren't ever adopted by any significant number of people, never do gain a viable base of developers to keep up maintenance, let alone expand it. That's the biggest technical risk, that the codebase will end up unmaintained and dies, unless you pull it back into your own care again, and then see the fireworks from people who never took an interest in it before... – jwenting Jun 14 '14 at 10:07
  • @jwenting I completely agree. As developers, we tend to think that our beautiful code will attract other developers. I understand that it takes so much more that just dumping code to build a community. – nha Jun 14 '14 at 10:25

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.