This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

Translations are an important point for the success of a project. Most of the people in the world don’t have English as their first language and might not even understand it at all. Luckily a big community is taking care of that issue and translates open source software into many languages including some that would probably just die if there is not enough content for them.

gnome.org provides an extraordinary platform for translatiions called (historically) Damned lies about GNOME. It provides a variety of services and helps to keep translation teams together and productive:

  • Download up-to-date POT files without having to deal with git
  • Upload translations for review
  • Review translation
  • Managing your team by assigning modules
  • Translation stats
  • Automatically commit translations (coming soon hopefully…)

In addition it provides additional information for problems in the project translation infrastructure and links to translation bugs and the possibility to file new translation bugs if necessary.

Getting your app translated

There isn’t much you need to do for the Translation Project to pick up your project when it is hosted on gnome.org. Sending a reminder mail to i18n-list cannot hurt though to have your project added to damned-lies. The rest will then just happen on it’s own but be aware that translators can be picky about wording! Keep your string clear and understadable, otherwise they will bother you ;)

This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

Bug trackers are usually an annoying things. There are always more bugs than you can cope with at a specific time and it can become horrible to keep track of the important things. It is pretty difficult to keep bugs organized and often a lot of crap accumulates in your tracker.

In addition there is no real line between bugs, features, ideas, enhancements usually so keeping them in different places just causes distraction.

Simplicity

From the start bugzilla.gnome.org provides you a with simple interface to just do your stuff, regardless if you are user or developers. It guides you through the steps necessary to file new bugs as well as hinting you how and where to find duplicates.

It also provides a sane way for the bug squad and for developers to mark duplicates, move bugs between different modules, set dependencies of bugs and link bugs with external resources in other bug trackers.

Speaking of the bug squad: This is a ridiculous productive team of people helping you sorting out all the crap, duplicates and unclear bugs from your module. If you want to contribute to GNOME and don’t really now where to start, they always need help.

And not to forget about the highly configurable mail interface that gives you notifications of what happens to your bugs and your project.

Overview


This is one of the strongest points of the GNOME Bugzilla: It gives you a place to start from. You now that number of bugs, the bugs needing a comment, the unreviewed patches and most important the priority of the bugs around. I haven’t seen a single bug tracker providing this information in such a nice way.

Patch review


Kudos go to Owen Taylor here! Splinter is probably the best patch review tool around with an absolutely intuitive user interface. I allows you to quickly comment on patches and to help new contributors. This is especially important as the problems are usually the little things and that it is pretty annoying to explain everything when you could just add a simple annotation here and there.

This article is part of a series of articles about why I feel gnome.org is a great home for your Open Source project.

After some discussion and a final poll gnome.org decided to got for git as version control system. git is a very powerful system and might have a higher learning curve than other DVCS but it also gives you nearly unlimited power on your code. One of the coolest features include:

  • Easy local and remove branches
  • Cherry-picking changes from other branches
  • Edit the history
  • Creating series of patches

cgit: Web inteface


Often it is extremely convenient to track the project status of something you are interested by firing up a web-browser. git.gnome.org/browse implements a very nice interface to the version history and new changes. It shows you the information you are interested hiding all the dirty details.

Add your project

As GNOME is a community project and not a hosting service, getting your project into GNOME git might look frightening first though it isn’t. Often you will start coding without the big picture of where the project will end up. Things like github are possibly a nice place to get started with prototyping when you just need code hosting.

But when you are at the point where things are working and stuffs turning out to be great, just follow the instructions and you will be amazed what will happen:

  • People will file bugs if your module doesn’t build
  • Translators will bother you to fix your strings and translation infrastructure
  • All those little things you might have missed on first try like other platforms, other distributions and build system issues will come up on bugzilla and give you the opportunity to build an even more awesome project.

Bugzilla integration

Again it was Owen who created cool scripts to interact with bugzilla and thus don’t having to get off your work to file bugs and patches. Read his blogs post for details.

Why gnome.org

4. June 2010

Today I want to start contributing to a solution for something that has been agitating me for a while. That is, simply not enough people know who wicked-cool hosting your project on gnome.org is.

As many other people probably, I started hosting projects on sourceforge.net years ago. Over time, their infrastructure became limited. In between I used garage.maemo.org for some stuff which is nice but also limited in some way for bigger projects.

In the end, all the stuff I work on and that I maintain is hosted on gnome.org. While I never worked on any part of that infrastructure and I have high respect for all the sysadmins donating their time to such a great platform I still think we need to do better promotion for it.

Just enough goodness for my project

The gnome infrastructure is the perfect place for my projects because it gives you all the benefits of project hosting without limiting you to a specific development model. And in addition it is a great place to collaborate with other great GNOME projects.

In particular it features great solutions for the following things:

  • Bug Tracking: The best bugzilla I have seen around with an awesome bugsquad taking care of all the incomplete and strange bugreports
  • Code Hosting: Store your code in the git version control system and keep track of the status with the cgit web interface
  • Translations: Huge number of translation teams that provide high-quality translations and damned-lies as great tool to track translation status, submit and review translations
  • Mailing lists: Provides a high quality mailman interface for your mailing list including with archive and bonus features like registering your mail as post-only for all gnome lists which gives great convenience.
  • Web space: Give your project a home on the web which unlimited space and fast servers.
  • Wiki: Nice, easy to use and translatable space for keeping some non-code stuff for your project

All of the major and successful GNOME projects use that infrastructure regardless if driven by companies, groups or individuals.

See the list of Why gnome.org Rocks articles here.

(You might have noticed that this series looks a lot like Jono’s series on Launchpad. That’s intentional! But that doesn’t mean that I want to start a flamewar on project hosting. I just have the feeling that people don’t really understand how good our infrastructure is and I really want to change that.)

Privacy topics are surrounding everybody these days. It is not really the question if you have something to hide but rather if you want the whole world to know about it.  And even more important, do you want that the whole world will still be able to find out in 20 years. The internet doesn’t forget.

Don’t make it too easy

While you can read everywhere that you should disable JavaScript and use tor both isn’t very useful in your everyday life yet. But there are some things that you can do and that make it at least more difficult to track your internet activity:

  • Save cookies only “for this session”
  • Disable flash cookies
  • Avoid putting too much stuff into areas where you cannot control them (mail, social network, etc.)

Let me explain this a bit more. Everybody is using cookies to track you. Google does, facebook does, all advertisement companies do. By deleting cookies when you quit the browser there is a good chance that they won’t be able to recognize you next time[1]. You might want to make some exceptions here for convenience.  For example, I allow cookies from bugzilla.gnome.org because I trust this site. But don’t do it for popular sites like Google (or GMail, Youtube). Google connects your gmail, search and youtube login so they have even more power tracking you.

Disabling flash cookies is not that easy but there are plenty of sites explaining how it works. If you have a html5-Browser you can probably avoid flash completely.

Let’s talk about the mail and social network thing. I know that GMail is highly popular and it is one of the best mail interfaces probably. Anyway, you should be sure that you really want this. It breaks down to two major problems:

  • You are probably permanently logged into GMail! This way, every Google search you do is probably tagged with your real name as well as every YouTube video.  And of course you might use the Google Calendar for your appointments. This is a quite big part of your life, yeah? Ever imagined this data in the wrong hands?
  • Social networking can be fun. I also don’t think that there is a too big reason not to do it. But be careful what you want to show to the world. And keep in mind that the cookie that facebook (or any other social network) will place while you are logged in might be used by lots of partner sites. It is a bad idea to hang out on facebook the whole day – it also might demage your real life ;)

I use Google and GMail as an example here. Same is probably true for Hotmail/Bing or most services that are free (as in beer) .

In the end it might be cheaper to pay for some services that offer far better privacy. That isn’t really expensive, I am sure there are good mail providers out there and even if not, hosting a web/mail server (for you, your friends, your family) isn’t that expensive either. Just compare your mobile phone use to your mail use and how much money you spent on them.

Privacy in GNOME

I wonder that nobody brought that up already but in some parts we are going a dangerous road by making things more easy for the user. Tracker and especially Zeitgeist collect lots and lots of data that might be interesting for you, but also for your employer and maybe also for your jealous gril/boyfriend.

It is time to think about that before blindly using that technology. That implies some things we should do (some are already done):

  • Add a “private mode” to GNOME where nothing is logged
  • Make it easy to delete history/database entries as well as deleting the whole history
  • Make sure that people are aware when their data is used (on the desktop or in the cloud). This becomes more important for things like a single (shared) account dialog between empathy and evolution that other applications might access using dbus.
  • All the above should be available especially in environments where you don’t have control over the whole computer (e.g. no administrator rights, etc.)

Keep in mind that data is pretty worthless until it’s connected. Just my 2 cents…and next time I will tell you about the stunning new developments in Anjuta, promise ;)

[1] It’s not impossible: EFF browser fingerprint

Sorry, this is going to be a rant…

Some distributions like Ubuntu tend to have their own bugtracker for all packages and people will report bugs there (in this example bugs.launchpad.net). This is not a bad thing in general as it might be possible to generate better debugging info if you know the exact binary package.

This requires bugs to be added upstream though because no developer will ever have a look in downstream bug trackers. For core packages of a distribution that has the manpower to do this that should be OK and as those packages might be patched in some way it might be useful to report bugs downstream and decide manually if and how to report them upstream.

However for packages where there is nobody to review the downstream bugs I would really prefer if the downstream bug-tracker will just forward the bug to the upstream bug-tracker (probably doing some internal duplicate filtering in between).  I am more happily getting some incomplete bug reports than missing  the interesting ones because they never reach the upstream tracker.

So, launchpad developers: Do you think that’s doable. There are so many great options in launchpad that I think adding this one shouldn’t be too difficult. By accident I stumbled across some very interesting reports in launchpad and I would have loved to have these reports upstream.

Thanks!

Re: Anjuta UI work

5. April 2010

Today, I finally took the time to fix the optical trash from the embedded tab change I did some time ago:

Anjuta with correct tab buttons

Voilà, tabs look like they should now. Actually this wasn’t that easy to implement and requires a custom GtkContainer widget which is a bit painful to write. There might be some possible improvements in using the correct border/shadow for the notebook but I haven’t figured out a better way until now.

This post is a spin off from the recent foundation-list discussion regarding the future direction of GNOME. It was pointed out that GNOME might not be a very attractive platform for new developers. The reasons was among others that there is nothing like a standard way of developing GNOME applications. Of course, everybody is somehow using automake and autoconf and some editor and bugzilla but not more than that.

Compared to windows, about any new developer will stumble over Visual Studio. On Mac, it is the same with XCode. For these tools there is tons of documentation, tutorial and books available and they are actively promoted with the platform.

For GNOME 3.0 we should also start having something like this. This doesn’t mean than present developers have to change their development model but they should be aware that their personal model might not be suitable for new developers especially those with no Linux/free software experience. As such, we should promote the tools we have to make life of new developers easier and ensure that they work with the workflow of a specific project.

In a perfect world, I would announce a hackfest here now, but I won’t ;) But I would encourage people to help  anyway. I have setup a wiki page to collect ideas. The major points are in my opinion:

  • Write good tutorials how to build GNOME applications without touching command-line
  • Setup a website (maybe on library.gnome.org) hosting all the information for getting started with GNOME development

Everybody is invited to contribute!

GNOME-Track on LinuxTag

1. March 2010

We have been offered the chance to run a GNOME-Track on LinuxTag 2010 (June 9th to 12th) in Berlin. As we would love to do that we still need 2-3 talks. So if you are located in Germany or want to come to LinuxTag and have something interesting to say about GNOME, please either contact Vincent or me so we can add you to the list. For now we only need a title and a short discription of your talk. It’s possible to do talks in german or in english at your option.

We would especially encourage some of the zeitgeist/gnome-activity-journal developers to do a talk as we know that some of them live in Germany.

The deadline for submission is today! Don’t blame me for that, we really would have liked to get this out earlier…

Let’s make this a rocking event for promoting GNOME!

For my fellow Vala hackers…

23. February 2010

Symbol Manager with Vala symbols …I proudly present support for Vala symbols in the Anjuta Symbol Manager. This will mean you can browser and search your project symbols like you can in C and JavaScript. This will either work with the automake backend of the project manager for automake >= 1.11 with Vala support or at your option with the new directory backend for automake < 1.11 or custom Makefile rules.

Credits go to Abderrahim Kitouni (former GSoC student) for writing the vala parser for ctags. We hope to add full Vala support including autocompletion and probably debugging before 3.0.

In related news, Anjuta 2.29.91 “Vala la révolution” was released with many stability fixes today. Give it some testing. Naba already did an awesome job in filing bugs for a lot of small but annoying issues. Follow his example ;)