It’s the third year that Google sponsors students to work on Open Source projects during their summer vacation. The programme is called ‘Google Summer of Code‘ or GSoC and attracts the attention of many of the most prominent open source projects around; projects that are typically non-commercial and that would otherwise have little chance of paying a student (let alone a professional coder) to work on them. I find this to be an excellent, commendable effort by Google — a company that has been more controversial and has been more praised and criticised than any other (save, perhaps, for Microsoft, although in their case there’s been little praise and a lot of criticism) this past decade.
So which of the GSoC 2007 projects do I really care about? In no particular order, I’m very much looking forward to the improvements in:
- Adium and Gaim. The former, because it is the most configurable, most active and downright best Instant Messaging client on the Mac, and most probably any other platform. The latter because they wrote the library used by Adium and develop its equivalence for *nices and win32.
- The Apache Software Foundation. At the beginning it was just httpd, the most popular web server software in the world. Now it’s dozens projects including Ant, Jakarta, Lucene, SpamAssassin, Struts, Tapestry, Tomcat and Xerces to name a few…
- BBC Research. As it has been at the forefront of ‘traditional’ broadcasting since its founding and trying to exploit as much technology as possible for the benefit of its audience.
- Blender Foundation. These are the guys that develop the best Open Source 3D Modelling/Compositing/Animating application, a program that has been evolving faster than most commercial packages and, while it lacks in some areas, successfully competes with them.
- Boost C++. One of the most powerful, well-written C++ libraries around. I believe it deserves more people working on it, despite C++’s diminishing importance.
- Creative Commons. For their work on reversing the Copyright-craze of the past few decades and bringing content back to people.
- Debian and Ubuntu. For very different reasons. Debian for it being one of the oldest, well-maintained non-commercial distributions, a foundation for countless others and of considerable importance in the linux server world. Ubuntu, because they are relatively close to providing a (sufficiently) usable Linux Desktop and need some help reaching that goal.
- Drupal. It is, probably, the leading Open Source CMS. It keeps getting better, has a great community, but still has some way to go.
- Eclipse. One of the most popular Java IDEs, originally a product of IBM and a fierce competitor to Netbeans and even commercial rivals, such as the excellent IntelliJ IDEA
- FFMpeg and VLC. FFMpeg? Well, it’s at the heart of most multimedia players including VLC. Need I say more? VLC, because it has slowly, but steadily, become my player of choice (at least on the Mac) for its rich feature set and the myriad formats it supports.
- GCC. The time of multicore machines and massively multithreaded software is coming. And GCC needs to be ready for it.
- GNOME. One of the two main contenders for the Linux Desktop. Lots of things to do to bring GNOME to the RANDR1.2 world, fix bugs and improve the featureset.
- KDE. See above after replacing GNOME with KDE.
- Haskell. For it was one of the first functional languages I learnt and a pretty good one at that.
- Mozilla Foundation. To help improve Firefox the premier choice for surfing the Web today.
- MySQL AB and PostgreSQL. They are two of the most used Open Source, free databases in the world. Improving them would certainly help lots of people avoid paying for a proprietary alternative.
- OpenOffice.Org. Perhaps the only viable alternative to Microsoft Office right now. And no, Google Docs is not even close. Enough with that Web2.0 trip.
- *BSD. I haven’t had any flavour of BSD installed on any of my machines (Mac OS X doesn’t count) for many years, yet I still believe their existence guarantees a livelier Operating System development world. They are also still quite good for some server uses.
- PHP. It started as a simple preprocessor and ended-up being one of the most popular development languages on the web. It’s fast, simple and extensible and as of version 5.x quite powerful too. Yet it still sorely lacks many features that its competitors have had for years (e.g. Unicode support, namespaces) and has been losing mindshare to Ruby and new lightweight Java frameworks.
- Samba. Has literally replaced NFS for most smaller LAN file serving installations. Version 3.0 reminded people that Open Source can and often is superior to the leading proprietary solutions.
- ScummVM. Because I’ve got a soft-spot for the classics. 🙂
- Subversion. CVS’s successor. A nifty program.
- The EFF. For defending freedom online as well as offline.
- Wikimedia. The people behind Wikipedia. One of the most useful, most visited sites in the world. The Hyperlinked Book of Knowledge.
- X.Org. Because it’s easy to code fancy applications, but very hard to build solid foundations for them.
Now, the above list obviously leaves many good projects out, some of which I care about, but for one reason or another don’t think that their Google-financed development is as critically important as the ones listed above. Last year many of the same projects were immensely improved over the course of the summer. I can only hope that this year the improvements will be of equal depth, breadth and value.