views:

814

answers:

24

Next month my company is going to release one of of our technologies as an open-source project. We're now preparing the website, documentation and so on. The question I'd like to ask is:

Which open-source projects would you recommend as a reference of a well-documented, well-presented project?

We're looking for open-source projects which have good website presentation, documentation, tutorials, samples and so on. Projects we could learn from.

(A couple of words about our project, if it is relevant: it is a JavaScript library for web mapping, based on OpenLayers.)

My examples would be JQuery or Vaadin.

+2  A: 

I like the look, layout and features (especially the community) of the Ubuntu site

Jacob
+3  A: 

http://www.orangehrm.com ?

Muneer
Thanks, nice one.
lexicore
@Lexicore You are welcome, btw, you can check this also. http://www.project-open.org/ It has a great documentation.
Muneer
+7  A: 

I've seen a lot of prise for sqlite in that regard. Both source code, tests and documentation are clean, well maintained and plentiful.

They might not have the coolest web designers, but they focus on the important stuff.

Sergio Acosta
I read about their testing process and it was really interesting!
MartyIX
+2  A: 

I am biased, but I think Kuali does a pretty good job: http://www.kuali.org/

Jay
+19  A: 

The Django framework is well-documented, has it's own book, a nice website, thorough contribution policy, and much more. What more could you want?

One nice thing to note (and I know a lot of other projects do this), is they include the docs as part of the trunk, so when someone submits a patch, they include the changes to the documentation at the same time. This really helps keeping everything in sync.

sdolan
agreed. Not my favorite python web framework, but man is their website pretty and their documentation comprehensive. And their official tutorials! Oh!
colinmarc
+8  A: 

Which open-source projects would you recommend as a reference of a well-documented, well-presented project?

Qt 4. It is dual-licensed (commercial/LGPL), so it is technically not 100% pure opensource, but you can't beat documentation and tutorials.

SigTerm
Yeah..it is pretty good actually. They have lots of downloadable samples which I found immensely helpful.
Mark
What's this "not 100% pure open source"? It's open source, period. LGPL is less restrictive than the GPL, which covers most open source software. And on top of that, they offer a commercial license to anyone who needs more than the LGPL provides.
Lucas
@Lucas: Not pure means they have commercial version. If they dual/triple-license their product, they(qt developers) can't really accept patches from anyone else (unless patch submitters surrender their rights to them). If they start accepting patches from everyone, they'll have to use separate source tree for commercial and LGPL version, or they won't be able to legally grab this code into commercial version.
SigTerm
@SigTerm They accept patches from anyone. http://qt.gitorious.org/qt/pages/QtContributionGuidelines Spare us the FUD. Open source is open source, it doesn't preclude selling the software under a commercial license to those who need it.
Lucas
@Lucas: *sigh* Have you ever talked to [email protected]? You cannot exchange code between LGPL and proprietary app. And qt 4 commercial developer license is clearly proprietary. You can freely swap code between both of them ONLY if you have permission of all authors (that includes everyone who has ever submitted a patch). If they don't have permission, and there is no small disclaimer somewhere telling that "by submitting your patch, you surrender your rights to us", then they are violating LGPL license. Although I don't really care.
SigTerm
@Lucas: Here is a link for you: http://qt.nokia.com/products/licensing . "The Qt Commercial Developer License is the appropriate version to use for the development of *proprietary* and/or commercial software. This version *is* *for* *developers* *who* *do* *not* *want* *to* *share* *the* *source* *code* *with* *others* or otherwise comply with the terms of the GNU Lesser General Public License version 2.1 or GNU GPL version 3.0."
SigTerm
@Lucas: I really don't care what the heck is nokia is doing with Qt license. I can get library for free, and I can make my Qt app closed-source (LGPL allows linking). But it is not clear whether their licensing trick is "clean". And their business model clearly is not pure opensource - in addition to cash from support, they get cash from selling closed-source library edition. This is comparable to selling linux under proprietary license. This can be "clean" only if commerical and (L)GPL versions are being developed separately, or if devs give away their rights when submitting patches.
SigTerm
@SigTerm: the Qt copyrights are owned by Espoo. Nokia corporate can dictate the license, and that is what they do for the commercial copy. You assign copyright to them when you submit a patch upsteam.
Borealid
@Borealid - Just to be clear, as per the agreement, http://qt.nokia.com/merge_requests/agreement/ - you grant a license to them. The copyright is still yours.
JosephH
@SigTerm It is absolutely clear that Nokia are fine, as you would see if you'd spent 2 minutes looking into it. See http://qt.nokia.com/merge_requests/agreement/. Please stop spreading FUD.
JosephH
@JosephH: First, stop calling FUD everything you don't like. As I said, there are two legal ways to do it - separate trees, or giving away rights. If nokia uses "takes away rights", then it is legal. End of story. IMO people treat opensource as something extremely special and get "territorial"/defensive easily, but it takes 5 days for someone to locate a counterargument in license agreement. This is not impressive. "2 minutes looking" Not interested, because my rights wouldn't suffer even if it wasn't "clean". Qt License terms are acceptable for me, so I don't care how they do it.
SigTerm
@SigTerm You are creating fear, uncertainty and doubt. The term is correct. There are no facts behind what you say. Nokia does not "take away" any rights from their submitters. They merely require you grant them a license to submissions. I'm not being territorial, I'm just using actual facts rather than random speculation. You are accusing Nokia of all sorts of things, and you haven't checked the facts.
JosephH
@JosephH: "FUD: a tactic of rhetoric and fallacy used in sales, marketing, public relations, politics and propaganda." I'm selling nothing, I'm not interested in propaganda and politics, I'm affilated with nobody. I don't care about future of nokia and opensource (whether they'll die or prosper). All my arguments were based on previous exchanges with [email protected] which sole purpose for existence is to solve GPL-related questions. I see no mistakes in my arguments. If you're nokia representative - sue me. If you are not - adress GPL questions to [email protected]. This discussion is over.
SigTerm
@SigTerm: You're poisoning the well. You can't make up some BS definition of a word/acronym and then use that as your argument. It's "fear, uncertainty, and doubt" - nothing else. Besides, even in your own definition it says "...and propaganda," which DOES apply to what you said. You don't have to sell anything to spread propaganda.
advs89
@advs89: Sophistry is boring, so don't you have anything better to do? I'm not interested in further discussion with you or anybody else. Read LGPL/GPL license, ask your questions to [email protected].
SigTerm
+1  A: 

Django project. Great code, great documentation, great support, organized release policy.

Lukasz Dziedzia
+2  A: 

Wordpress? Like others, has a nice website, online documentation and is in use by quite a few people.

JLWarlow
Yes, a great suggestion.
Rab
+3  A: 

http://codeigniter.com/

I find this documentation super simple to use - as always a user forum is also handy for feedback.

liamfriel
Ack! I found that to be awfully user unfriendly!! First I had to find that it was actually called "user guide" which sounds more like a "getting started" than reference page. And then to navigate that damn thing! Took me like 40 seconds to notice the little ToC at the very top of the page!
Mark
Unfortunately I'm still not sure wether code igniter itself is terrible or if the guy who worked my current project before me made a mess of it, but CI now makes me want to cry. definitely don't look to CI to pick up best practices
Kris
The documentation *appears* super simple until you realise how many edge cases it leaves out. I found the forum responses (to other's questions, I didn't ask any) anything but handy as well and more on the "why would you want to do that, go make your own plugin" path.
Graphain
+3  A: 

We're looking for open-source projects which have good website presentation, documentation, tutorials, samples and so on. Projects we could learn from.

Pascal Thivent
+1  A: 

I hereby nominate Aubit4GL http://www.aubit.com/

Frank Computer
+1  A: 

When I was working with HtmlUnit I thought it was quite well-presented and well-documented. Also very actively maintained, which is nice.

MatrixFrog
+1  A: 

I'm a fan of the Sass and Haml docs which both use http://yardoc.org/
I find the live search of classes and methods (top right tabs) really quick and handy.

They also both have simple, nicely designed home pages (Haml home and Sass home) that spell out what they do too for giving people a quick insight.

Also Sinatra has a pretty simple approach, which like django, has a "book", it's got a similar api to Sass and Haml, and you can check it all out on github.

Dr. Frankenstein
+1  A: 

I was using Ogre3D in one of my projects for about 9 months and it was very well commented.

virious
+4  A: 

MooTools is very throughly documented and its possibly my favorite JS lib next to ProtoType. Its MIT Licensed (if that matters to you) and, from what I can remember, its very elegantly written.

indieinvader
+3  A: 

Drupal! http://drupal.org/handbook - very good documentation.. etc.. But this is among "big guys".

I also like http://teambox.com/ : exactly what you need for documentation.

cripox
+1  A: 

I think www.php.net is the way to go in terms of useful links, searchable updatable documentation, links to useful libraries, notes on upcoming realeases etc. etc.

James Anderson
I particularly like the user contributed notes in the documentation.
Devon_C_Miller
+2  A: 

Ruby.

Adrian
+1  A: 

It's slightly less commonly used than some of the other suggestions here, but I've had great experiences with the Fog Project. The documentation is excellent, as are the Wiki/Forums. Ubuntu is another good one, though that has already been mentioned here.

elmugrat
A: 

Try taking a look at Yii it's a PHP framework for MVC applications (both for the web and the commandline) with a decent database abstraction layer, good code quality and consistency and its not bogged down by wanting to support ancient php installations.

Kris
+2  A: 

Blender 3D is very professional and very well-documented. You can find developer documentation, end-user documentation (complete with tutorials and video tutorials), an end-user website, and books...

advs89
I agree on Blender, although the learning curve for new users even with 3D experience is notorious. Still, it is as good or better than the commercial products, and the documentation is quite good.
Rab
A: 

I would strongly recommend you to include somebody who is working in open source for the past couple of years, and get advice from him.

It is more effective than following something, as he can give you directions instantly and make your objective a grand success.

thegeek
A: 

I vote for grails! A groovy based framework built on top of Spring MVC. I personally use it, it's good.

Manny
A: 

Take a look at Ghostscript, which is/was also alternatively licensed and well supported in industry: http://ghostscript.com/

Others mentioned Ubuntu before me, and I will second/third/nth those recommendations.

I think git is well presented, take a look at http://git-scm.com/documentation if you're not familiar.

There are different levels of polish in foss projects depending on the assumed user base. Projects for developers can seem crusty to normal users. A lot of projects never make it to the level of polish that attracts masses of users and developers.

The gnome and KDE desktop environments are both worth looking at. http://www.gnome.org/ and http://www.kde.org/ respectively. Any project can benefit from a big button that says "help! I'm not superhuman but I want to learn this" and then holds their hand and walks them through... but of course there is a lot of writing and art/screenshots involved in something like that.

Rab