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.

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)?

share|improve this question
8  
Maybe they just don't feel like it? –  FrustratedWithFormsDesigner Feb 18 '11 at 16:14
add comment

8 Answers

up vote 50 down vote accepted

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)
share|improve this answer
39  
+1 for 'ashamed of your source code'. –  Michael K Feb 18 '11 at 16:16
10  
+1 for preventing code from getting stolen. –  FrustratedWithFormsDesigner Feb 18 '11 at 16:19
11  
Maybe I'm cynical, but I've got to believe that shame is the culprit in the vast majority of cases. –  Adam Crossland Feb 18 '11 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 '11 at 20:18
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 '11 at 8:43
show 2 more comments

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
5  
+1 for extenuating circumstances –  Jetti Feb 18 '11 at 17:20
    
Can you say what the freeware tool is? Just curious. –  Joe Internet Feb 18 '11 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. –  Mason Wheeler Feb 18 '11 at 18:06
1  
Ummm, did you just admit to using Delphi? :-) Here's my freeware pick... softintegration.com/products/chstandard –  Joe Internet Feb 18 '11 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. ;) –  Mason Wheeler Feb 18 '11 at 18:29
show 2 more comments

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.

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

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 :)

share|improve this answer
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 –  JBRWilkinson Feb 19 '11 at 18:52
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.