Is Community Server Open Source?

code, blogging 0 comments suggest edit

Dave Burke makes the interesting claim that Community Server is an open source application. Whether this is true or not of course depends on your definition of the term Open Source. Here is Dave’s definition.

To talk about Community Server and Open Source we should start with a baseline definition of an Open Source application: All of the source code is available. For free.

But is that all there is to Open Source, access to the code? Is mere access to the code the fairy dust that has inspired such a passionate movement in the software community?

Certainly the term Open Source has had a history of ambiguity, so that definition might contain some validity. But I do not think that is the commonly agreed upon minimal criteria for something to be considered Open Source.

Open source isn’t just about whether the source code is available, it is all about the license to the source code.

My favorite definition of open source software is The Open Source Definition (or OSD for short) on the Open Source Initiative website.

The definition starts with the following introduction and then lists serveral criteria for open source software.

Open source doesn’t just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:

The first criteria listed is Free Redistribution which states…

The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

Contrast this to the Community Server license agreement 2.0 which states…

3g. Distribution. You may not distribute this product, or any portion thereof, or any derived work thereof, to anyone outside your organization. You are not allowed to combine or distribute the Software with other software that is licensed under terms that seek to require that the Software (or any intellectual propertyin it) be provided in source code form, licensed to others to allow the creation or distribution of derivative works, or distributed without charge.

For many people, the terms of the Community Server license might not be a problem. They are not terribly restrictive. If you plan to use Community Server under the community license your only requirement is to display the Powered By Community Server logo on every page of the site that uses Community Server.

However for many others, these terms are restrictive enough. For example, suppose you don’t like the way development is progressing on Community Server. You cannot fork the code base and start a new project based on the source code. Although a fork may seem like a bad thing, Karl Fogel points out in his book Producing Open Source Software - How to Run a Successful Free Software Project that the threat of a fork is what keeps the leader(s) of an open source project from being tyrannical. It is this threat of a fork that motivates and requires open source projects to be well run.

Not every open source license is created equal as I pointed out in my guide to Open Source Software Licensing. For example, under the BSD license in which Subtext is licensed, you and I are free to create a commercial derivative version of Subtext and keep your changes to the code closed source and proprietary. That’s right. If you wanted to (and had the ability to), you could package up the Subtext source code in its entirety and start selling it as a packaged product.

Note that you can’t turn around and claim that you have the copyright to the Subtext code. You would only have copyright to your changes to the code. Pretty much the only restriction is that the original license must be retained with with the code, but it does not have to be publicly visible in your site (such as in an about box).

In contrast, with a GPL Licensed project, you could start selling it, but you couldn’t keep your changes closed source without violating the terms of the license.

In the end, I think we need to agree on a term for unique products such as Community Server in which the source code is freely available, but does not fit the definition of an open source product. I suggest the term Source Available.

Please do not misconstrue this as an attack on Community Server or its licensing. I have met both Scott Watermasysk and Rob Howard and they are both very smart and capable leaders of a strong company. Community Server is a great product and deserves the recognition it gets. I am not a zealot and have no beef with closed source products. Certainly my livelihood depends on many such products.

At the same time, I am passionate about Open Source software and it is important to me to help keep the distinctions clear and educate others on what open source software is and the value it provides.

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.

Comments

avatar

25 responses

  1. Avatar for Rydal
    Rydal July 25th, 2006

    Yeah, I was a little bit baffled about community server too and since I wasn't sure, I simply uninstalled it .

  2. Avatar for Scott
    Scott July 25th, 2006

    Amen. Tag this post with "OSCON" and "OSCON06" and watch the comments roll in. :) .Text used to be BSD licensed I believe, but once it was absorbed into Teligent, they changed it to the current license.
    I always look at the decision to open source a product from the innovation point of view. I'm always amazed that some rube thinks their forum or blogging software is so innovative that they have to hide the source.

  3. Avatar for David Shields
    David Shields July 25th, 2006

    Excellent post! Very well written. You make some excellent points (and I happen to agree with them).

  4. Avatar for Haacked
    Haacked July 25th, 2006

    @Scott: Yes, .TEXT was BSD license, which is why I was able to make a fork.

  5. Avatar for Dave Burke
    Dave Burke July 25th, 2006

    Phil, You made excellent points here on the licensing aspects that define an application as Open Source. And you're absolutely right. Very well written. I didn't address licensing in my post and maybe should have. As for my "definition of open source" being the availability of the source code, the keyword was it being a BASELINE definition to serve as a starting point only.
    It is hard to discuss these issues without sounding like a zealot, either way. :-) But "Code Available." I like that!
    Again, a very thoughtful post on the licensing aspects of Open Source. Thank you for writing it.
    Dave Burke

  6. Avatar for Steve Harman
    Steve Harman July 25th, 2006

    Great article Phil!
    This whole pseudo open source license that CS was originally released under made me very uncomfortable from the get-go. As a matter of fact, it ended up being a major reason that I decided to get involved with the subTEXT project.
    Like Phil, I don't want/mean to attack CS or any of the great people involved with the project, community, or Telligent. I am simply passionate about Open Source software and it's continual growth and expansion.

  7. Avatar for Steve Harman
    Steve Harman July 25th, 2006

    And eventual world domination... naturally. ;)

  8. Avatar for Haacked
    Haacked July 25th, 2006

    Dave, I agree that it works as a baseline in the sense that having the source code available is certainly a necessary condition for Open Source, though not a sufficient condition.
    In any case, maybe we can promote the term Code Available and see if it catches on. I've always wanted to be a neologist! ;)
    Thanks for your comments Dave.

  9. Avatar for Dave Burke
    Dave Burke July 26th, 2006

    Hey, Phil! We'll see about the future of "Code Available." I only know that the term "Open Source" doesn't seem to generate much harmonious dialog and agreement. :-)

  10. Avatar for Karl Seguin [MVP]
    Karl Seguin [MVP] July 26th, 2006

    At the risk of embarrassing myself, what's up with weblogs.asp.net? Ever since the delayed upgrade...

  11. Avatar for Haacked
    Haacked July 26th, 2006

    Hi Dave, I thought the topic of harmony around the term Open Source was deserving of its own blog post.

  12. Avatar for Haacked
    Haacked July 26th, 2006

    And rather than Code Available I think Source Available is a better term.

  13. Avatar for Thomas Wagner
    Thomas Wagner July 26th, 2006

    If it is open source,why did I just pay an arm and a leg for its usage I wonder.....

  14. Avatar for Scott
    Scott July 26th, 2006

    Nothing in the GPL or most open source licenses that prevent you from charging for your application. They just say you have to make the source code available.
    RMS used to charge a few bucks to buy EMACS on tape.

  15. Avatar for Joe Brinkman
    Joe Brinkman July 26th, 2006

    Thomas,
    As Phil stated Open Source is not an indication of the availability of source code, but rather your specific usage rights vis-a-vis copyrighted software. It is quite possible and legitimate for the same source code to have multiple licenses, each of which gives you different rights regarding the software in question. When you pay for "Open Source" software you are in fact paying for a particular license and not for the software itself. I could post every single line of code to my software in a public place, but not give you a license to copy, install, or run the software and I would not be Open Source.

  16. Avatar for Haacked
    Haacked July 26th, 2006

    My guess is that Thomas was being sarcastic.

  17. Avatar for Rob Howard
    Rob Howard July 26th, 2006

    Great discussion. I agree with some, disagree with some, and am on the fence on other parts :)
    The term I personally use when describing Community Server's very, very permissive source licensing model is 'Shared Source' and I agree that applying the term 'Open Source' would not be completely correct (although you can also have a very pedantic debate about what the semantic meaning of Open Source really is).
    I've been on both sides of the open source discussion and while I can appreciate the nuances of both closed and open source there is sometimes a very good reason for doing something in the middle.
    Polarized debates about 'it has to be this way or I can't use it' are pretty worthless. Instead of allowing the source discussion to polarize you to a single line of thinking I always (personally) try to view it as a sliding scale. A lot of what we (Telligent) have tried to do is combine some of the best elements of both. Beyond the scope of the simple, 'what's good for the developer' you also have to think of 'what's good for the customer'. Believe it or not licensing terms are a pretty big deal to a lot of organizations depending upon how the software is made available.

  18. Avatar for Haacked
    Haacked July 26th, 2006

    Hey Rob, thanks for chiming in.
    As you said, it ultimately comes down to what is good for the customer. I've tried to go to great lengths not to frame this discussion as "one is better than the other". That is a pointless discussion as you point out.
    However, there is value in attempting to refine and agree upon the meaning of specific terms. Doing so helps create a general taxonomy of software licensing so that we have a common language to discuss groups of licenses. This is the whole motivation behind Design Patterns, no?
    When I say a license is Open Source, there are a whole variety of licenses I might be referring to. But if there is consensus on the taxonomy (such as using the OSD definition), you can infer certain characteristics of the license based on that categorization. The same thing applies to Shared Source.
    There is value in attempting to work out the semantics of these terms so we can all understand each other and speak the same language.
    Ultimately, being open source or not is not enough to indicate whether a piece of software "works" for a customer. It ultimately comes down to that piece of software's license. As you pointed out, licensing terms are a big deal to customers.
    Speaking of which, I could not find the full Shared Source license on the Telligent or CS website. I had to download the source to view the EULA. Am I just missing something?

  19. Avatar for Dave Burke
    Dave Burke July 26th, 2006

    I don't mean to answer for Rob, but I started a post tonight that would contain a link to the EULA as well as to other Community Server license references. Good point about the license not being available at cs.org. I converted a copy of the Commercial License to PDF (the same contained with the source you saw in RTF and TXT) and put it online in the cs.org downloads area at
    http://communityserver.org/...
    There is also a Community License covering the free version of Community Server which you'll find here.
    http://communityserver.org/...

  20. Avatar for Scott
    Scott July 26th, 2006

    Rob: "Believe it or not licensing terms are a pretty big deal to a lot of organizations depending upon how the software is made available."
    This statement fascinates me. I've heard it before, said in different ways, usually by anti-OSS/OSS-neutral people. I don't disagree with it, mainly because I don't have any evidence either way.
    In what way does the licensing terms matter to organizations in your experience Rob?

  21. Avatar for Dave Burke
    Dave Burke July 26th, 2006

    I have more Beach Week Chronicles to get online, but I needed to take a sidebar and add a bit of info...

  22. Avatar for Brendan Tompkins
    Brendan Tompkins July 27th, 2006




    This conversation has come up again, the Open

    Source versus Source Available debate.  A couple...

  23. Avatar for Rob Howard
    Rob Howard July 27th, 2006

    Just to be clear, Phil, I wasn't addressing you with my response -- more of just a general statement of opinion :)
    Scott, I'd love to give you a complete response, but I don't think it's fair to have this type of discussion in a comment section of a blog. It's a much, much larger topic. But, I do want to answer the basic question surrounding licesning.
    The simple answer is that a number of organizations want the side benefits that commercially licensed software brings. For example, a business responsible for the software provides certain guarantees and a source customers can go to when problems arise. Furthermore, closed source licenses allow the organizations to have better control over the applications from a versioning perspective (less moving targets). We have a number of customers for Community Server that move to our commercial licensing model off of other OSS platforms specifically for the implict contract that is then created between the organization and us.
    I realize that statement is 100% debatable but this is based on direct experience as an ISV. Please also understand that I'm an advocate for both sides of this argument, OSS and closed source; although I personally like the 'somewhere inbetween' option that Community Server's licensing model offers.
    Another interesting perspective here is to take a deeper look into the much more mature non-Windows OSS licensed software options. There have been a lot of quiet changes by products such as MySql and others to change some of their licensing options. Yes, they are still liberal, but not quite as liberal as they once were.
    Again, for us, we're interested finding a middle ground solution that works for us as a businesses and developers that want to do interesting things with our platform. It's not perfect for everyone, but it has proven to be succesful.

  24. Avatar for News
    News August 6th, 2006

    news of the day a grab bag for what's happening in Community Server J-O Eriksson gets the byline

  25. Avatar for A. Simon Mielniczuk
    A. Simon Mielniczuk September 27th, 2006

    Telligent appears to have chosen the path of the radical middle (it's phrase used by former Canadian Prime Minister, Pierre Trudeau, in response to a question about political position). It is innovative and risky. There are many business models for covering both ends of the licensing/development spectrum. Their approach makes the source transparent and adaptable, contributes to a rapidly growing development and user community exploring this accessbility, and provides some measure of predictable direction and quality to the core product.
    The trouble with working in binary is that sometimes our minds get stuck in either-or :)