19

I'm wondering why some people release software as freeware, yet they don't release the source code. Why is that? I can think of some reasons, yet most of them don't make very much sense. Why would you want to keep the source closed but let the program be freely available (free of charge, not free as in freedom)?

1

8 Answers 8

52

Hmm, what comes to my mind is

  • Because you want to retain some measure of control over the product
  • Because you want to reserve the possibility / right to charge for the product in the future
  • Because you're ashamed of your source code
  • Because you want to make sure you are credited for the product, and it doesn't get stolen and re-used in other projects (of which there is always a risk when you publish the code)
5
  • 11
    Maybe I'm cynical, but I've got to believe that shame is the culprit in the vast majority of cases. Feb 18, 2011 at 16:23
  • 7
    Shame would be temporary. Once the community cleans the hell out of the original check-in, others will still refer to the tool as "the thing that Jane Doe wrote" (hopefully).
    – Job
    Feb 18, 2011 at 20:18
  • Most of this can be addressed by license clauses. At least it will be open source (it not free software). Feb 18, 2011 at 20:47
  • 3
    I would add: because you are so proud of your source code that you don't want that others put their mess in it.
    – mouviciel
    Feb 19, 2011 at 8:43
  • 1
    @user11715: Preventing someone taking the code, refactoring it a little and releasing a commercial product would not be stopped by any kind of license clause. Feb 19, 2011 at 18:51
23

One of my favorite productivity tools is freeware. I asked the author about the source one time, and he said he couldn't release it because it contains a lot of proprietary code that belongs to his employer. So I suppose that his employer doesn't mind it being used in a free tool, but that it's also being used in their commercial products and they don't want to give away the code to it.

6
  • Can you say what the freeware tool is? Just curious. Feb 18, 2011 at 17:59
  • @Joe: Sampling Profiler, a non-invasive profiler for Delphi apps and the most useful tool I've found for hunting down bottlenecks. Feb 18, 2011 at 18:06
  • 1
    Ummm, did you just admit to using Delphi? :-) Here's my freeware pick... softintegration.com/products/chstandard Feb 18, 2011 at 18:20
  • 8
    @Joe: Admit? You make it sound like something to be ashamed of. If you really believe that, please make sure to share your views with my competitors; if they listen it will further increase my competitive advantage. ;) Feb 18, 2011 at 18:29
  • @Mason Wheeler - Nope, I agree with you, and have nothing against Delphi except the price. A lot of "rockstar developers" wouldn't agree with you, though. So... just some light-hearted humor on my part. Feb 19, 2011 at 22:25
8

One I don't see here yet - because the source code has value in itself, separate from the application as a whole.

If you have useful libraries that you've written, you're likely to use them even in projects that you intend to give away. That doesn't mean you're willing to give that library source code away. And without those libraries, the rest of the source code is probably worthless.

If you give away library source code that you've developed over a period of years, you're giving a competitive advantage away - very likely to your competitors.

One thing that I think is often relevant, though - that code probably includes libraries that have had time, effort and even emotions invested in them over a period of years. It would be like inviting thousands of people to read our diaries.

6

Good answer by Pekka, I'd add that exposing the source code may also increase your risk of exposing security vulnerabilities, which can be either an advantage or a disadvantage depending on who notices them :)

1
  • 3
    ..which is a great reason to open-source it so that you can get the benefit of the security experts in the OSS community Feb 19, 2011 at 18:52
6

There have been 2 great answers so far but here are my reasons that I can see:

  1. It is more trouble than it is worth.
  2. They use the freemium model
  3. Don't feel they should

For #1, if the product is free and the person isn't seeing any profits from it, they may not feel like having to deal with hosting the source code and making sure that they update it whenever they make changes. Now, I know that it isn't that big of a hassel but who knows, it may be big enough to discourage some

For #2, if they use a freemium model, then releasing source will basically allow people to add in the features that they charge for and cost the developer money.

For #3, I think that it has been a tradition (of sorts) for Windows programs not to be open source (no facts to back me up so I could be wrong). Windows has been a closed-source platform so it isn't expected to release source for something that is free. The original question doesn't specifically mention Windows, but that is where I see the majority of free but not open source software.

4
  • Freeware and shareware were also common on the Mac, in the old days anyway. Feb 18, 2011 at 17:17
  • 3
    #1 is definitely an important point. Making something Open Source properly brings along a slew of responsibilities
    – Pekka
    Feb 18, 2011 at 17:30
  • 1
    @Pekka: Which, if Sourceforge hasn't changed since I poked around last, a lot of F/OSS developers completely ignore. Feb 18, 2011 at 17:35
  • @David hahaha! True.
    – Pekka
    Feb 18, 2011 at 17:36
2

I have several freeware apps for which I wont provide source code. The main reason is because they share large amounts of code with commercial applications. Consider something like a document viewer... that still needs the rendering system of its commercial cousin, a document creator. Another reason is some of the apps also use non-open sourced 3rd party components.

2

I provide open source code as sort of a community service idea, and as a portfolio idea.

If I was selling software directly - I don't, I'm employed in a position where the company sells the product, not me - I would more than happy to sell my software as closed source. Allowing competitors to look over my code and reduce my competitive advantage is not in my best interest, as a rule.

Put another way, I do not consider releasing software as open source to be a moral imperative.

1

Despite the general bad idea that security-through-obscurity is, in the malware removal field, its a constant cat and mouse game between those of us who write analysis/removal tools, and those writing cleverer and cleverer malware. Sometimes we release a tool freely to users to use, but try to obfuscate the tool's operation in order to make it more difficult for malware authors to defeat the defeat tool :)

This is obviously atypical for most software, but it's something I see all the time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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