CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 8 of 8
  1. #1
    Join Date
    Dec 2004
    Location
    Leamington Spa, UK
    Posts
    202

    Open Source Question

    Hello,

    I am curious about the following regarding open source code. Imagine 5 people download the Firefox source code and makes major changes to it, ading features that they want, and removing things they don't like etc.

    1)Who then decides which codes changes make it to the Firefox program that is available?

    2)Can each of those versions made available as Firefox online, resulting in many different versions of the same thing?


    Also, let's say I write some code, and then make it open source. Does this mean that even I as the original writter of the code, if I want to use it in another project, that new project has to be open source too?

    Basically, I like the idea of open source and would like to share some code which would be helpful to others. However, I am a bit worried about people making changes to it that I may not have wanted(project going wrong direction etc), and also perhaps being too many different versions of the project. Also it woud seem strange if I could not use the very code I wrote, in future projects I write.

    Perhaps what I need is a "Dummies guide..." but so far I have come up with legal-like documents. Anybody already know the answer to the above questions?

    Thanks in advance,

    Aristotel

  2. #2
    Join Date
    May 2002
    Posts
    10,943

    Re: Open Source Question

    In order for changes to take place and be accepted into the real Firefox browser, you have to be part of the development team.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  3. #3
    Join Date
    Dec 2004
    Location
    Leamington Spa, UK
    Posts
    202

    Re: Open Source Question

    Hi,

    So what stops people who are not part of the Firefox developement team from putting out their version of Firefox based on the original Firefox code, and also calling it Firefox?


    PS: We are using Firefox simply as an example...I don't code for Firefox, I just love the end product

  4. #4
    Join Date
    Feb 2005
    Location
    Normandy in France
    Posts
    4,590

    Re: Open Source Question

    There are several open source licenses.
    Firefox is under MPL.

    The most popular licenses are GPL, LGPL and BSD licenses.

    With GPL, you can modify the code as you want, and distribute modified versions of the project, typically under a new name.
    Quite often, a GPL project is "forked", so there is a new project created from the other one, and both projects evolve parallelly.
    But, theorically, there can be thousand forks, and thousands modified versions of the project.
    That's why it's usually easy to find an open source project meeting exactly your requirements and having the flavour you want.

    However, with the GPL license, any modified version must:
    1) Be under GPL too (e.g. you can't create a commercial software from it, nor even modify a bit the license).
    2) Contain a link/way to get the non-modified version.
    3) Contain a link/way to get the text of the GPL license.

    With LGPL, (Lesser (aka Library) General Public License) you can create a project using the library under the license you want (e.g. commercial license) but you must mention that you use this library somewhere in your documentation, and IIRC, a link to the LGPL license & the code of the library.
    Moreover, if you modify the core library itself, you can't redistribute this modified library under whatever license you want. You must distribute it under LGPL, with a link to the original code.

    I don't know very well the BSD license, but, AFAIK, it allows you to produce software having a different license, from a project under BSD license.

    A project can also be under public domain. You give the source code and don't claim any property on it, so anybody can use it how he wants, a bit like the code I post below:
    Code:
    /* hello world C code */
    /* I don't claim any property on this piece of code. Use it how you want, without having to mention my name */
    #include <stdio.h>
    
    int main() {
      printf("%s", "hello world!");
      return 0;
    }
    Finally, there are many open source licenses, specific to a particular software, such as the Vim license.
    "inherit to be reused by code that uses the base class, not to reuse base class code", Sutter and Alexandrescu, C++ Coding Standards.
    Club of lovers of the C++ typecasts cute syntax: Only recorded member.

    Out of memory happens! Handle it properly!
    Say no to g_new()!

  5. #5
    Join Date
    May 2002
    Posts
    10,943

    Re: Open Source Question

    EDIT: Answered better by SuperKoko. I misunderstood.
    Last edited by PeejAvery; October 25th, 2006 at 10:05 AM.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  6. #6
    Join Date
    Feb 2005
    Location
    Normandy in France
    Posts
    4,590

    Re: Open Source Question

    "inherit to be reused by code that uses the base class, not to reuse base class code", Sutter and Alexandrescu, C++ Coding Standards.
    Club of lovers of the C++ typecasts cute syntax: Only recorded member.

    Out of memory happens! Handle it properly!
    Say no to g_new()!

  7. #7
    Join Date
    Dec 2004
    Location
    Leamington Spa, UK
    Posts
    202

    Re: Open Source Question

    Hi!

    That cleares things up somewhat! Thanks also for the links. I will look into them in detail now.

    Ciao!

  8. #8
    Join Date
    Nov 2002
    Location
    California
    Posts
    4,556

    Re: Open Source Question

    To reinforce what SuperKoko has said, "open source" is not the same thing as "unrestricted use".

    Open source simply means that you can see the source code. But just because you can see the source code doesn't necessarily mean that you can use it too. You must read the licensing terms and restrictions.

    Mike

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