CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 15 of 15
  1. #1
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,867

    Should software be free...?

    Like everyone else here, I've benefitted from the vast libraries of free source code available at CodeGuru, SourceForge, The Code Project etc.... and I've even supplied modules of my own for others to use FOC. Free source modules, generally, are beneficial to developers IMHO. But....

    Developers are developers and users are users. I sometimes wonder if the Free Software Foundation (and others like it) encourage the view that software users shouldn't have to pay for software - or that piracy is somehow okay. A few days ago I was looking at the GNU license agreement. It allows me to use GNU licensed source code in my own apps and I can even charge a fee for selling the apps.. The downside is that I must subsequently make available all the source code for any apps where I incorporated the GNU code. To me, this is self-defeating. It practically guarantees that GNU licensed code will only ever be used by amateurs (amateurs in the literal sense - i.e. those programmers who don't make their living by selling their programs). As a 'professional' programmer I couldn't afford to give away my source code. Many of my apps have security features - in fact, some are sold via an annual license. No way am I going to give away source code that would allow my customers to crack the security. I need to eat and pay the mortgage, like everybody else!

    I guess the answer is simple.... don't use GNU source code in my apps. But what do other CodeGuru members think about free licensing agreements - especially agreements like the GNU license which, in my opinion, is too onerous to be of much practical use....?
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  2. #2
    Join Date
    Oct 2000
    Location
    London, England
    Posts
    4,773

    Re: Should software be free...?

    If all software were free then how exactly would coders make a living?

    No, I don't think you have to expose all the source code in your applications just because you use a GNU-licensed library.

    Library source modules in C++ are much much better for developers though for several reasons:

    - Easier to debug into.
    - Easier to find bugs and get them fixed
    - Easier to link the code into your project, as you can build it on the latest compiler.

    Does giving the source code automatically mean that your copyright will be infringed by further copying? I don't know, it's difficult to say. However selling a package with its code has advantages thus:

    - You can continue to make money by supporting the code for others, rather than having to make all enhancements yourself
    - You can work on new projects
    - If you sell to major companies it is likely they will respect your copyright.

    and

    - software can be pirated anyway, even if you don't give out the source code.

    So my answer is: No, software shouldn't all be free, but quite often libraries should be sold with the source.

  3. #3
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,867

    Re: Should software be free...?

    Quote Originally Posted by NMTop40
    No, I don't think you have to expose all the source code in your applications just because you use a GNU-licensed library.
    Well, here's section 2.b from the GNU public license agreement:-

    " You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. "


    Quote Originally Posted by NMTop40
    If all software were free then how exactly would coders make a living?.
    That's the same point that bothers me. The agreement also states:-

    " It is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. "

    which implies that as long as nobody else collaborates with you on your own project, the licensing terms don't apply to you....
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  4. #4
    Join Date
    Oct 2000
    Location
    London, England
    Posts
    4,773

    Re: Should software be free...?

    No, note this:
    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
    That means that your own unrelated work is not affected by the licence merely because you happen to use some GNU Licenced code in your project, possibly as a generic library.

    By unrelated I mean work that is related to my business and happens to use library features but is not an enhancement of it.

    I assume that is the intention. If you modify their library you have to make it public. If you merely use it you don't have to make your own code outside of it public.

  5. #5
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,867

    Re: Should software be free...?

    I must admit, that's not the way it reads to me.... Let's say I have some code for implementing a user license which times out annually. That code is my own code and not based on anything I obtained under a GNU license What that statement seems to say is that if I release a program which is protected by my proprietory license scheme and that program contains some (other) code obtained under the GNU license, then I must make available both the GNU code that I obtained and the code for my own proprietory user license. However, if I use the proprietory code in some other product which doesn't contain GNU code, then I don't need to release the code for that product.
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  6. #6
    Join Date
    Nov 2003
    Location
    Belgium
    Posts
    8,150

    Re: Should software be free...?

    It's also my understanding that if you use GPL code in your program, then the whole program becomes GPL.
    Marc Gregoire - NuonSoft (http://www.nuonsoft.com)
    My Blog
    Wallpaper Cycler 3.5.0.97

    Author of Professional C++, 4th Edition by Wiley/Wrox (includes C++17 features)
    ISBN: 978-1-119-42130-6
    [ http://www.facebook.com/professionalcpp ]

  7. #7
    Join Date
    Aug 1999
    Location
    <Classified>
    Posts
    6,882

    Re: Should software be free...?

    I am totally against Free software stuff, it's ok to have sample, examples, tutorials for free, or even software source only for research purpose. But commercial softwares should never be free.
    Regards,
    Ramkrishna Pawar

  8. #8
    Join Date
    Aug 1999
    Location
    <Classified>
    Posts
    6,882

    Re: Should software be free...?

    Quote Originally Posted by Marc G
    It's also my understanding that if you use GPL code in your program, then the whole program becomes GPL.
    Is it? So if I use some "GPL" code in one of my module, my whole project becomes GPL or only that module/DLL?
    Regards,
    Ramkrishna Pawar

  9. #9
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,867

    Re: Should software be free...?

    The whole program if my understanding is correct....

    I'm not entirely against free source code but I think that the "free for all" model is a bad one. Some kind of "software exchange" model would be better, IMHO.... in other words, if you use somebody else's code FOC, you should be willing to contribute something yourself - even if it's just the modifications you subsequently made to the other person's code. But having to give your whole program away is a ludicrous requirement.

    Software development is a skilled craft and in an ideal world, it would only be practised by skilled craftsmen. Okay, we don't live in an ideal world but I can't think of any other trade where skilled craftspeople are discouraged in favour of amateurs offering their (dubious) skills for free.
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  10. #10
    Join Date
    Feb 2005
    Location
    "The Capital"
    Posts
    5,306

    Re: Should software be free...?

    If that is what a GPL is.. it is really silly.. I don't want to use GPL stuff.. I will write my own libraries.

    Day 1 - Started thinking...

    Seriously guys, I think if NMTop40's interpretation is right.. it is okay.. but otherwise.. it is really pathetic.. why would my stuff be free if you are giving away your stuff for free... Then what is the use of giving things for free.. charge a cost.. production software of course would not use the pirated stuff.. they will buy your stuff to make their own.. there is no danger at all of piracy...

    I don't understand all this.

    ..and what about in-house development? Let us say, I am making use of GPL stuff and I am not selling the application - it is just that it will be used in my company's infrastructure.. or let's say, we are the development team of an IB, I don't distribute stuff.. then what significance does GPL serve?

    Can we not get these crooked wordings clarified from GNU folks?

  11. #11
    John E is offline Elite Member Power Poster
    Join Date
    Apr 2001
    Location
    Manchester, England
    Posts
    4,867

    Re: Should software be free...?

    You need to bear in mind that the GNU General Public License is governed by a body called the Free Software Foundation whose aim (presumably) is that all software should be free. In my view, this undervalues software developers and it devalues the software they create. If I supplied free steering wheels to a car manufacturer, would that give me the right to insist that they sell their cars for free?

    Apparently, there's also something called the GNU Lesser General Public License although, to be honest, I couldn't really see what the difference was...
    "A problem well stated is a problem half solved.” - Charles F. Kettering

  12. #12
    Join Date
    Feb 2005
    Location
    "The Capital"
    Posts
    5,306

    Re: Should software be free...?

    Not all have as much money as those GNU guys have.. we earn our living that way... if we started creating stuff for free.. what would I eat? gzip/tar/boost.. they would not fulfil my and my families hunger.

    Let them share some money with us and we shall be okay.

    It is demeaning to software developers who ruin their backs and spine sitting 8/10 hours in office. Who is gonna pay for their medical expenses? The FSF guys? Nearly all my friends who until now have about 3.5 to 4 years of experience in software developement have started having back problems.. eye problems. etc..

    Anyways, I should stop now, may be I don't understand the whole idea behind fsf and GNU GPL, so I might be writing without complete knowledge which is not good.. but seriously.. if they want to do charity.. why don't they help the poor with some money and some basic needs of life ... why kill our sources of income and come into software developement. The real place for them are the United Nations different groups like UNICEF/UNESCO/WHO/WWF etc.

  13. #13
    Join Date
    Nov 2003
    Location
    Belgium
    Posts
    8,150

    Re: Should software be free...?

    Quote Originally Posted by John E
    Apparently, there's also something called the GNU Lesser General Public License although, to be honest, I couldn't really see what the difference was...
    A library under LGPL license specifically allows commercial usage. However, all changes done to the LGPL library should be given back to the community for free.
    BUT, you are not required to distribute your own source code of your program, but you need to give clients access to your object files, so that the customers can re-link your application if they want to upgrade the LGPL component in your application. This is clearly stated in the LGPL:
    Quote Originally Posted by LGPL
    If you link other code with the library, you must provide
    complete object files to the recipients, so that they can relink them
    with the library after making changes to the library and recompiling
    it. And you must show them these terms so they know their rights.
    ... at least that's how I understand it ...
    Marc Gregoire - NuonSoft (http://www.nuonsoft.com)
    My Blog
    Wallpaper Cycler 3.5.0.97

    Author of Professional C++, 4th Edition by Wiley/Wrox (includes C++17 features)
    ISBN: 978-1-119-42130-6
    [ http://www.facebook.com/professionalcpp ]

  14. #14
    Join Date
    Oct 2005
    Posts
    166

    Re: Should software be free...?

    Quote Originally Posted by NMTop40
    If all software were free then how exactly would coders make a living?
    LinusT once said: "..... I have a BMW and it needs gasoline"

  15. #15
    Join Date
    Jun 2005
    Location
    JHB South Africa
    Posts
    3,772

    Re: Should software be free...?

    Quote Originally Posted by NMTop40
    If all software were free then how exactly would coders make a living?
    Hmm... Rather charge an hourly rate for doing the coding when giving the software for free
    Articles VB6 : Break the 2G limit - Animation 1, 2 VB.NET : 2005/8 : Moving Images , Animation 1 , 2 , 3 , User Controls
    WPF Articles : 3D Animation 1 , 2 , 3
    Code snips: VB6 Hex Edit, IP Chat, Copy Prot., Crop, Zoom : .NET IP Chat (V4), Adv. ContextMenus, click Hotspot, Scroll Controls
    Find me in ASP.NET., VB6., VB.NET , Writing Articles, My Genealogy, Forum
    All VS.NET: posts refer to VS.NET 2008 (Pro) unless otherwise stated.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured