Dave Burke : Freelance .NET Web Developer specializing in Online Communities

Open Source debate Fight or Flight. A few CS license links

I have more Beach Week Chronicles to get online, but I needed to take a sidebar and add a bit of info to yesterday's post on Community Server and Open Source.

Phil Haack picked up the discussion with a very articulate argument on what constitutes Open Source from an application licensing perspective.  His post generated several good comments, including his reply to a comment of mine with the suggestion we refer to Community Server as “Source Available” rather than "Open Source."  Rob Howard also added to the conversation saying that he personally describes Community Server’s source licensing model as “Shared Source,” and that doing something in the middle between closed and open can benefit both the developer and the customer.  Here’s the permalink to Rob's full comment.

Phil posted a follow-up piece titled “Source Available vs Open Source vs Free Software.” Other posts on the subject today included Karl Sequin who said I was wrong, and Scott Koon whose post was titled "OSCON Open Source License Obsolete?"

I enjoyed today's discussion, but I'm sorry that the point I was trying to make in my original post on the freedom of expression and sense of personal ownership that I’ve enjoyed with Community Server got lost in a debate on definitions.

Nevertheless, today's events inspired me to do some research on the topic of Community Server licensing, and while I’m not intending on interpreting the details (email sales@telligent.com for those), I did want to share a few links that were helpful in my understanding and perhaps will be helpful to others.

First I'm pulling up a very old thread, the Announcement of Community Server 1.0 Source Code Availability.  In this 2/28/2005 post, Rob Howard said that the licensing of Community Server would be a modified version of Microsoft's Starter Kit License.  Here is a copy of the Shared Source License for the Microsoft ASP.NET Starter Kit that I googled and found at GotCommunityNet to serve as a reference.  Here is the current Community Server End-User License Agreement that you'll find in the Community Server SDK and other downloads.  It's a useful document and not as weighty as you might think. I was thinking today about how someone would approach using Community Server components in other applications, for instance, and item 3g Distribution in the EULA seemed to clear that up for me.

Here is an information page at cs.org on the Commercial and Community Licensing philosophies of Community Server.  The final paragraph on the page states the intent of the Community License (which accompanies the free version of Community Server) to "help raise awareness and interest in the Community Server platform. A secondary goal is to discourage code forking or derivative versions and to encourage participating at www.communityserver.org to help drive new features and functionality."  I found that interesting and making a lot of good sense.

Finally, here's a useful Licensing PDF document in Community Server Downloads listing the standard licensing breakout matrix you probably have seen before, but also provides a number of FAQ bits about various licenses, the three different editions of Community Server and general use issues.

[tags: Community Server, Licensing]


Comments (5) | Post RSS RSS comment feed

Posted on 7/26/2006 8:24:00 PM by Dave Burke
Categories: Community Server
Tags: no tags for this post

Related posts

Comments (5) -

7/27/2006 12:14:55 PM Permalink

"A secondary goal is to discourage code forking or derivative versions"

Yeah I'd have to say that since this is one of the goals, the project isn't "Open Source". One of the really amazingly cool things about open source projects is that you can fork the code and make something new. In fact one of the biggest projects I worked on last year was a forked project. The original project was floundering and the developers weren't willing to release control, so we forked the thing and ended up with a much more solid product.

CS is very much "Shared Source". To be fair, I don't have a problem with this at all but people need to understand the difference. The only "new and cool" stuff that will come out of CS is in the form if new code from the owners or "modules" created by 3rd parties. Since no one can fork the code, the amount of stuff that can happen with it is limited. I can't for the life of my figure out why you'd want to limit what people are able to do with your stuff but its clearly your right to do so! Smile

Ogre |

7/27/2006 12:53:16 PM Permalink

Ogre, I certainly learned a lot since raising the "Open Source" issue of Community Server.  Thanks very much for your thoughts on this.  "Shared Source," yeah, probably better.

The thing that struck me about your forked experience (that sounds kind of funny Smile was in the original project devs allowing the project to flounder, not committing to ongoing application integrity, support, strict versioning, etc.  I don't think that would be something that'll happen with CS.

CS needs more "new and cool" stuff, to be sure.  As someone whose been cranking out mods and modules for a long time before signing up with Telligent, I never wanted to get too far away from the core application because I knew I wanted to stay in the CS upgrade path.  I've also encountered several instances where the mods I wrote because I didn't like something in CS or some feature I wanted personally was fixed or added in the next release.

I guess that's another reason I'm with Telligent, because safeguarding code forking makes good sense to me.

Thanks again, Ogre.  I really like your blog, btw.  That Rumsfeld pic freaks me out!

daveburke |

8/2/2006 2:39:39 PM Permalink

Well to be fair, the leader of the original project had joined the military and they kept telling him he was going to Iraq so after basic he didn't want to get involved in any stuff that he would have to abandon when he got shipped out. However the Army kept telling him he was going and then telling him he wasn't, then he was, the he wasn't. You get the idea. This went on for like a year and he finally got sick of waiting and not being able to do anything with his life so he went ahead and enrolled in school. The rest of the team was your typical open source crowd of mostly people who were still learning C#. A lot of them came from the Java world too which added to the flounderingness (is that a real word?).

The real problem though was lack of leadership. And since it was a free, Open Source product, there was no company that could hire a team to finish. The cool thing about Open Source is that even though my team wasn't directly involved with the original project, and another team controlled all of the project creation resources (the SourceForge project site), the code didn't have to die. The license (GPL in this case) allowed us to pick up where the previous team had left off and make the product workable. The original team has continued to work on the original codebase (at a much slower pace than us) and now the two projects are different enough that we gave the forked project a completely different name.

Also, to be fair, the project we forked has also died but it did serve its purpose during the time we worked on it and used the product in production. Some of the stuff we wrote even made it back into the original project. I guess the biggest difference between CS's "Shared Source" model and the "Open Source" model is that someone is funding CS. Only the really big Open Source projects get funding (MySQL, PHP, Linux, etc). Most of them get a return on their investment through support and not sale of the actual product. The small Open Source projects rarely get funding and the only way they can survive is via people donating their time.

Now here's where things get a little complicated. One of the modules in the original project was a weird database layer. Some of the stuff we did in the fork was to refactor the database layer, clean up a lot of the code in that layer and add some new, needed features. That database module ended up being useful in other projects and has somewhat evolved into something that could be considered a stand-alone product. Since the code is GPL no one can ever sell it however it is a good example of something that never would have existed had the code not been Open Source. If the original team hadn't opened their code, the fork never could have happened and thus the database layer modifications never would have become what they are today. The benefit of this model is that the original project now has a much improved database layer.

If you extrapolate that to Community Server, you basically come to the conclusion that no "unexpected gems", like the database layer from our example, will ever happen in CS because the license doesn't allow it to happen. I'm a fan of allowing things to organically evolve. I can't say what things won't ever come out of CS because unpredictability is part of evolution. And yes some cool things will come out of CS despite the license, however freedom allows infinite experimentation and infinite experimentation tends to yield wonderful things.

Again, don't take this the wrong way. I don't necessarily think Telligent should change its business model. I guess my point is that a lot of people from the Microsoft world don't realize the benefits of the pure Open Source model because they haven't experienced them for themselves. Plus it takes a lot of balls to give your code away for free (free as in speech, not as in beer) and expect to make a living selling support contracts instead of licenses. I don't know what percentage of sales Telligent makes on licenses but I'm thinking the margin on contracts to develop and maintain CS based sites is a heck of a lot bigger than selling licenses. And maybe, in some parallel dimension somewhere, there’s a fork of Community Server that runs on BSD and ROTOR. ;)

In closing, thanks for the compliment about my blog. I’m a fan of your site as well. To be honest, I still don't know where I'm going with my blog. You're probably the third human other than myself to actually look at the thing! And yeah, Rumsfeld is scary enough without someone making graphics of him casting spells but you gotta wonder what the heck he's doing when he waves his arms around frantically like that. I'm convinced he's casting some weird archaic spells and, since that graphic I found exists, someone else must think so too.

Ogre |

8/2/2006 7:25:41 PM Permalink

Ogre, thanks for the time and energy spent with your comment.  Absolutely right about the lack of a forked CS surprises or "unexpected gems."  And yes, the license doesn't permit it, unless it's kept within the organization. Smile

Lots of balls to make an app source truly free, for sure.  I'm going to blog tonight about a podcast with John Roberts with SugarCRM.  Their approach is amazingly similar to Telligent's, and although they recently went to the bedroom with Microsoft, they're definitely not a Microsoft product.  And you're right, there's something intrinsically cards-to-the-chest about those of us in the Microsoft camp.  That said, the Shared Source of RobH and Telligent is an approach I honestly believe in to be a very smart business approach, though your points about unanticipated results from truly open source are true as well.  I'd like to think there's some organic evolution happening with CS, but then again, there are benefits to directing development priorities as well for business needs, and that would be where ScottW comes in, another scary smart guy at CS Point.

Let's not revisit Rumsfeld, shall we?  I want to keep this thread on a happy note.

Thanks again for dropping by!

daveburke |

8/4/2006 12:40:33 PM Permalink

I'm one of those weird people who has faith in both the Tao of Microsoft and The Way of the Open Source. I'm sorta hoping that Microsoft will actually move toward the Free Software but Charge for Services model. That doesn't mean they have to open up their code, it just means they don't actually sell the OS. Imagine if a somewhat stripped down version of Windows was free, including the server OS's. But if you wanted some feature that only enterprises with lots of loot wanted, you could pay for an "enhanced" version of the OS. (All my crappy P2-3 boxes would become backup DC's!) As we already know, a free but somewhat stripped version of a product is a great method of advertising, right? I'm sorta wondering if they have already considered this model but rejected it on the grounds that the DOJ would consider that an unfair market takeover style tactic...

I'm seriously considering this model for a project I've been brainstorming about for a few years. And I think it will work with this one. And we'll take over the market! Muahahahahaaa! (And yeah the site for the product will totally be built on CS.) So keep up the good work guys!

Ogre |


Powered by BlogEngine.NET 2.0.0.36
Theme by Dave Burke