Miguel de Icaza was the one who announced the project this is why he is considered to be the founder. So this desktop environment was born from the idea to stop making every application to feel like a separate island one from each other, but to make them feel to share the same place.
This ideas came after a job interview Miguel had with Microsoft, from which Miguel came out fascinated about the idea of applications sharing resources and information and all this COM technology that Microsoft used.
So this was around 1997 and Miguel got together with Federico Mena to start to think how to develop GNOME. So they considered using libapp but it had consistency problems, then also thought of GNUstep but it was too young.
Finally, as Federico was working with the GIMP project and it had it’s own graphic toolkit, they decided to use the GIMP toolkit called GTK+. So with this in hand they had the first GNOME release which was the GNOME 0.10 which was a single package containing libraries and some applications like the panel. Then the GNOME 1.0 version came out in March 1999 but it had too many bugs and it was unstable.
After GNOME 1.0.55 version something very important for the free software world started and it was that the project began to be supported by companies like Eazel, Helix Code, Henzai. Then in March 2000 was the first GUADEC in Paris, which is the GNOME Users and developers european conference, and it was supported by companies like Telecom Paris, Red Hat, SuSE, Helix Code, LinuxCare, or MandrakeSoft
In april 2001 GNOME 1.4 was released, and it was the first one to have Bonobo (which was the GNOME components system much like Microsoft COM technology) and nautilus (GNOME file manager) along with others apps like Evolution, Abiword and Gnumeric.
From GNOME 1.4 to GNOME 2 there had to pass a very long time, basically because it was not very suitable for end users and it had too many configuration options. So they decided to improve the usability, the accessibility and the bonobo consolidation that turned into finally having a new development platform.
This new platform supported: backwards API/ABI compatibility, Pango (which is the fonts and internatinalization library), an Accesibility framework (developed by Sun Microsystems), GNOME-VFS and GObject.
Pango is the library that takes care of printing any font, without worrying the type of language it is, since there are other languages that have another alphabet or that are written from right to left or from up to down instead of the left to right known by us. And GNOME-VFS is in charge of manipulating files systems, or virtual file systems in order to get the same POSIX interface if you would open a local file.
One of the most important things that happened with GNOME 2.0 was the creation of the release team along with incremental versions every 6 month adding few functionality little by little. So at the very beginning of GNOME 2.0 the GNOME team had the new development platform ready, but they still had to build the apps that weren’t already really ported to this new platform, and this is the reason why it took so many time until GNOME 2.0.
This was the development path that GNOME took from now on, and the same happened for GNOME 3.0 they had first to create most of the libs that became the platform before creating the new apps itself. And they did this in an incremental way. The evolution was more or less as follows:
2.2: Nautilus extensions, Notification area, multihead support.
2.4: Nautilus CD Burner, Accessibility improvements,GNOME Meeting, Evince
2.6: Spatial nautilus, File Chooser
2.8: Integration of eds in the desktop, VNC server, Network tools
2.10: Performance improvements in Nautilus, Totem, Sound Juicer
2.12: Vertical text in the panel, Sabayon, Menu editor, Cairo
2.14: Performance improvements, Deskbar applet, Pessulus, GNOME Screensaver
2.16: GNOME power manager, Tomboy, Baobab, GtkPrint
2.18: Seahorse, Glade 3
2.20: PDF forms, GNOME control center improvements
2.22: GVFS, Cheese, Metacity compositing support
2.24: Telephaty/Empathy, Nautilus tabs and compact list
view, improved multiple screens support
2.26: Brasero, PulseAudio, icons and progress bar in GtkEntry
2.28: GNOME Bluetooth, Time Tracker applet, Epiphany, Webkit, Platform Cleanup, GtkInfoBar
2.30: Nautilus split view mode, GtkSpinner, GtkCellRendererSpinner, GtkToolPalette
2.32: The transition to GNOME 3
With GNOME 3.0 the change that most people noticed was the GNOME shell (that must not be confused with the Terminal application, instead this shell is the Desktop interface for doing things) changed, but in reality what changed with GNOME 3.0 was not only the shell but also all the platform behind. One example of this is that the shell now uses clutter for the 3D effects. Also the notification system has changed and the system setting completely redesigned.
The community
About the GNOME community there are not only developers, there also are translator which gives a very big advantage to the free software since you can find GNOME in most of the languages. Something that in other privative solutions you won’t find just like that. Then there also are documentors, designers, a bug squad which is in charge of tracking that the bug documentation is complete or that there weren’t duplicated bugs among other things in order to facilitate the developer’s tasks. Finally there is the build brigade, the release team and the packagers.
The software is in general licensed as GPL for applications and LGPL for libraries. Then about the software that is arranged in modules, usually every module has one or more maintainers for making the releases and the decisions, even though the global decisions are discussed by the whole community on a public mailing list.
Usually to become a committer you have to have a reasonable number of contributions. The committers have write access to all git repositories, but all the commit requests have to be reviewed and approved by the maintainer of the module. Usually, as I said before, a maintainer is the person who is always responsible for any given module. So it kind of makes the role of benevolent dictator.
Posted on marzo 12, 2012
0