These are a Few of My Favorite Open Source Sites

I’m a big fan of sites about open source. Especially those that categorize, index, and report information about them. I’ve probably spent more time marketing my pet Open Source project PlaneDisaster.NET on these sites then writing code for it. So I’ve compiled this list of sites I use.

SourceForge (http://www.sourceforge.net)

The true power of open source is allowing anyone to contribute your project. In order to have a successful open source projects, you need to build a community where users and contributors can collaborate. This means a source code repository, forums, bug tracking, a wiki, project webspace, and of course a system of mirrors to download project releases. One place that allows you to do all that for free is SourceForge. In recent years new players have entered the market including Microsoft CodePlex and Google Code. However, SourceForge is still the most popular.

Freshmeat.NET (http://www.freshmeat.net)

While Sourceforge will host anyones project, few released are handpicked to appear on their frontpage. The site that fills that void is FreshMeat. If you release a new version of your software, you can notify FreshMeat, and the announcement will appear on the SourceForge home page. Unfortunately for myself, it does not accept windows only software. They are a site that lists unix software, not open source software. This means that they will list closed source souftware, but not windows only open source software. Despite this policy, they will list open source operating systems, and you can specify that your software will work on windows if it also happens to have a version that works on some unix variant. Finally there is a special category for OSX software.

ohloh (http://www.ohloh.net)

Ohloh is a unique site. It is a combination of social networking and open source software metrics. If you write open source software you can list it on the site, and have it scan your version control repository. It will report metrics about your software. It will also generate metrics about the lines of code you write across all open source projects on the site. You can also list software you use, and give other users on the site “kudos” if you enjoy their work. Finally, all these metrics are used to sort every user on the site by a single ranking system. The exact formula is a secret like those used to calculate credit scores.

koders (http://www.koders.com)

A simple code search engine. I can honestly say I have yet to find source code with the site that I’ve used. However, I think the idea has potential. While there are better forms of code reuse such as static and shared libraries, sometimes you need a small snippet of code.

osalt Open Source as Alternative (http://www.osalt.com/)

This is a strange site. The way the site is supposed to work is that you select a piece of commercial software listed on the site and it lists equivalent open source software. While they have a form on the site for suggesting software there site, the content is highly editorialized. The content on most other sites on this list is more directly user generated. I think a more open format would lead to a site with more information. However, until a more open competing site opens up, this is best in breed by virtual of being the only one of its breed.

Conclusion

These are my favorite sites. Feel free to list yours in the comments. If I get enough feedback I will post a follow up article.

Microsoft and the OLPC – Red Tape and Misconceptions

It would appear that Microsoft is making significant progress in porting XP to the XO laptop. While I think the third world is better off learning Linux, I have no problem with them learning on a Microsoft platform, provided they make it suitable for their needs. They seem to be attempting to do that. I can’t say for sure that the OLPC is what the third world needs regardless of operating system, therefore I really can’t make a judgment as to which OS better serves said undefined needs. However, this is not a post to judge the merits of the OLPC or any OS that would run on it. Rather, its about red tape and misconceptions.

First the red tape. The technet article states that Microsoft cannot contribute to the OLPC project directly because of the open source license. It then seems to imply that Microsoft must reverse engineer the hardware because their engineers would somehow be tainted if they read the specs. I am quite ignorant of the OLPC project licenses, as well as open source hardware in general. So I have to assume that their lawyers are correct in their interpretation of whatever licenses govern the spec of the hardware.

This seems to be quite a hindrance. Granted the hindrance might be intentional. It seems to be similar to the hindrance that the GPL places on you reusing the code in a non open source project. I would expect many people that have worked on the OLPC project to be glad of this hindrance, just as many are glad of the hindrance that the GPL provides to their code being reused in a closed source project. However, many companies such as Sun and IBM are able to donate their programmers time and talents to Open Office, Apache, Firefox and other open source projects without “tainting” them. I think Microsoft could do similar. Even if it was impossible not to “taint” there developer, they are not in the business of making hardware or drivers. I doubt it would hurt Microsoft if the drivers they created for the custom XO hardware were all released as open source.

Now to tackle the misconception. James Utzschneider, the author of the technet blog, seems to think that the projects plan for supporting the laptop is to have the children patch the source code themselves.

And we have a different support model than OLPC is envisioning: we are not expecting K-6 school children to access the source code and do their own programming in the event they have to fix a problem in the computer. Certainly, we think there is a role for students in the support of school computers — in fact, as part of our Partners in Learningprogram we have trained over a million kids in a student helpdesk program (like in this case study from Brazil) — but we also think that local entrepreneurs and businesses need to play an important role here when you are talking about deployments involving tens of thousands of computers.

The angry young idealist in me started screaming of FUD immediately when I read this one. Just because the source is available, doesn’t necessarily mean you have to edit it. There has got to be a better support model than this. So I looked on the OLPC wiki page linked to by the article for more information and I found the following.

The laptop is an open-source machine: free software gives children the opportunity to fully own the machine in every sense. While we don’t expect every child to become a programmer, we don’t want any ceiling imposed on those children who choose to modify their machines. We are using open document formats for much the same reason: transparency is empowering. The children—and their teachers—will have the freedom to reshape, reinvent, and reapply their software, hardware, and content.

The article contains no explicit statement of their support model. It does allow for students and teachers to modify the laptop, but acknowledges that not every child will become a programmer. A cursory search does not turn up a formal support model. However, very few support issues require a code change, especially for commodity software that have a much larger usage in testing scenarios than most code gets in production. So while the support model may be lacking, I don’t see where they assume the children will be hacking their own laptops except as a learning exercise.

I honestly hope this port of XP is successful, and that they ship some OLPCs running Windows. First of all it gives people more choices. Secondly, I’d like to see that translate in to a first world consumer oriented $200 laptop.