Thread: About development of commercial, closed-source software

  1. #1
    Registered User
    Join Date
    Oct 2010
    Posts
    132

    About development of commercial, closed-source software

    Hi, everyone. What IDE and compiler + C implementation (which of course includes the header files) can I use to developt commercial, closed-source software? Thanks in advance.

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    What IDE and C compiler do you use? Chances are, there is no restriction preventing you from using it to develop "commercial, closed-source software".
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    Registered User
    Join Date
    Oct 2010
    Posts
    132
    You mean I can use any IDE and any compiler + C implementation?

  4. #4
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,738
    Since it'll be commercial and closed-source, anyone! Who will find out anyway?
    Devoted my life to programming...

  5. #5
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Assuming that they are not licensed for non-commercial use or have some special restriction against using them to develop software with certain license conditions, yes.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #6
    Registered User
    Join Date
    Oct 2010
    Posts
    132
    So I could use a C implementation + compiler which are under the GPL?

  7. #7
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    I am not a lawyer; this is not legal advice.

    Under the usual interpretations of the various versions of the GPL, I'd say that no, you would not be able to do that without having your programs licensed under the GPL since it is likely that the compiler may incorporate code under the GPL into the compiled program. However, it is also likely that there is an exception added to the license that caters to this (e.g., GCC).

    Really, it would be so much simpler if you just gave a concrete mention of what IDE, compiler and standard library implementation you have in mind, otherwise we'll have to keep talking about "in general, but" and making various assumptions that may be wholly unnecessary.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  8. #8
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    If the header files are explicitly GPL licensed, you definitely can't use it in a program with a non-copyleft license.

  9. #9
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by stdq View Post
    So I could use a C implementation + compiler which are under the GPL?
    Yes, gcc (the gnu compiler collection) can be used to develop commercial software. In fact it is widely used for that purpose. Very few compiler vendors (or distributors of compilers under "free" licenses) have a model that forces a particular licensing model onto programs built using their compilers.

    gcc (the compile family) is distributed under gnu's GPL (General Public License) . The main practical constraints, IIRC, are that it is not permitted use gcc's source code in your own project and, if you distribute gcc itself with your product, you are required to both disclose that and provide access to gcc's source code.

    However, if you are really concerned about complying with license terms, it is best to seek qualified legal advice rather than to ask for advice on an internet forum. I am not a lawyer in any jurisdiction.
    Quote Originally Posted by manasij7479 View Post
    If the header files are explicitly GPL licensed, you definitely can't use it in a program with a non-copyleft license.
    It is not header files that will be licensed. It will be the library itself although, since header files define the interface to the library, the license terms will typically be stated in the header files.

    Libraries distributed with gcc (notably, here, the implementation of the C standard library) are distributed under the LGPL (Lesser General Public License), not the GPL. Essentially that difference allows development of a program that links to (or uses) the library, regardless of what license that program is distributed under. In other words, linking or using a library under the LGPL does not place your program (or libraries) under either the GPL or LGPL.

    Again, you are best off examining the license terms for each library, and seeking qualified legal advice.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  10. #10
    Registered User ledow's Avatar
    Join Date
    Dec 2011
    Posts
    435
    Basically, read the EULA of what you intend to use.

    MinGW can be used to produce commercial closed-source software if you want. Except if you compile with profiling on (when the GPL applies to the end binary!).
    GCC can be used to produce commercial closed-source software if you want. But check what libraries you link to.
    SDL 2.0 can be used to produce commercial closed-source software if you want. But only if you put it into a separate DLL and load it from them.
    SDL 3.0 can be used to produce commercial closed-source software if you want. They changed the licence to allow it.

    Get a compiler / linker / library / IDE that you want to use and CHECK THEIR LICENSE or, worst case, ask here about a specific combination. The same applies if you talk about MSVC or Borland or anything else. You need to check the compiler / linker / libraries / IDE that you use and, most importantly, the agreements that you have legally agreed to by using those software. You know, those legally-binding documents that pop up and make you click "I Agree"!

    In general, there's usually no difference between commercial development and non-commercial with the majority of things. But without checking each one, you'll never know. There are compilers that might enforce non-commercial use only. There are certainly libraries that do. There are certainly libraries that enforce GPL restrictions on your program if you're not careful which doesn't stop commercial use but does stop closed-source use. The Visual C++ runtimes have an EULA all of their own, for instance. There are things like this: EULA of Visual Studio 2010 from dreamspark « Limegarden.net which visual studio files restrict your use to non-commercial programs if you obtained Visual Studio via a certain program aimed at schools, etc.

    I use MinGW, without profiling, which uses GCC and I compile with SDL libraries a lot and use several SDL-based libraries (which incorporate everything from MP3 libraries to font libraries), hashing libraries, SQLite, OpenSSL, etc. in my programs. I have to check everything I use for the use I intend to use it for, commercial or not, open- or closed-source. What, especially, makes you think you don't have to do the same?

    - Compiler warnings are like "Bridge Out Ahead" warnings. DON'T just ignore them.
    - A compiler error is something SO stupid that the compiler genuinely can't carry on with its job. A compiler warning is the compiler saying "Well, that's bloody stupid but if you WANT to ignore me..." and carrying on.
    - The best debugging tool in the world is a bunch of printf()'s for everything important around the bits you think might be wrong.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Why is commercial software so crap?
    By nonoob in forum Tech Board
    Replies: 26
    Last Post: 02-23-2011, 12:56 PM
  2. Closed Source Software
    By abh!shek in forum A Brief History of Cprogramming.com
    Replies: 9
    Last Post: 04-21-2008, 07:02 AM
  3. Free compiler for commercial development? (mingw?)
    By kook44 in forum Windows Programming
    Replies: 8
    Last Post: 01-07-2006, 09:32 AM
  4. Is it possible to write commercial software?
    By Puddin in forum C++ Programming
    Replies: 13
    Last Post: 03-21-2002, 08:17 PM
  5. OOT vs Structured Approach in open source software development
    By dkt in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 10-12-2001, 09:30 PM