About Apple store, GPL’s, VLC and BeTrains


So there has been a lot going on about Apple’s infringement of the General Public License. For people wondering about the iRail project (yes, we do GPL too) and BeTrains, I will try to explain this hassle in human words.

First of all for non programmers, GPL explained: when you write a book you will obtain copyright on it. Each author is protected as soon as he wrote something in almost any country and all rights are reserved by you. As a consequence you might want to give people the right to redistribute your book, or the right to edit your book and redistribute it yourself. This is where licenses come in: you can license anyone to make a derivative work of yours. For text (wikipedia for instance) people use Creative Commons, for programs, programmers tend to use the GPL (General Public License).

The GPL license has only one basic rule which says the freedom of both the creator and the user should be respected. There are 4 freedoms that should be taken into account:

  • The freedom to run the program, for any purpose
  • The freedom to study how the program works, and change it to make it do what you wish.
  • The freedom to redistribute copies so you can help your neighbour.
  • The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes.

Of course this has been poured into the mould of lawyers and a pretty complex text came out which did that.

The problem with the Apple store today is that when you downloaded an application from it, you do not have freedom 3. I assume that R. Denis-Courmont (a VLC contributor and less importantly a Nokia employee) tries to change the Apple store to a more transparent system by telling them they infringed on the GPL with their VLC app and they should allow copying applications from one phone to another when they are licensed under the GPL. Instead of Apple adding 2 lines of code to their system which would allow people who downloaded GPL apps to copy those from one isomething to another isomething, they seem to have removed the VLC app from their store which resulted in irrelevant reactions, annoyed users and frustrated contributors.

So what’s the deal with iRail and BeTrains?

Good news! We are still on the appstore although we use the GPL. With the iRail npo (non profit organisation) we own 100% of the copyright on the BeTrains application and by adding it to the appstore we gave Apple the exception to put it online by ignoring the third freedom.

On one hand we do not agree with Apple’s decision. On the other hand we want to give our users the best experience. We believe that if people want to share it with friends they still can look up the source code on project.iRail.be and they still can download the binaries from somewhere else and redistribute it.

Is this the solution for the VLC app?

I don’t know. The VLC team will have to look carefully at who owns the rights to the application and they will need each and everyone’s consent to give Apple this exception and to ‘waive’ this freedom for them. On the other hand the whole point at first was the question to Apple to allow people to redistribute their application under certain circumstances. What Apple’s philosophy is? I have no clue but apparently their products won’t suffer any sales-drops anyway.

– Pieter


The relentless absurdity of piracy

It’s generally known that piracy tends to have not so positive side-effects. It’s a word that victimizes one group of people and makes others the cause of injustice and misery. One thing pirates got in common with their victims: they don’t want piracy to happen at all. What if they could get a fair chance at achieving what they wanted in the first place? But… who were we talking about again? Pirates?

Identifying the pirates

Piracy in terms of intellectual property is not a neologism. In fact, it has been around since the beginning of the 17th century according to wikipedia. It meant and still means: «the infringement of exclusive rights in creative works». To my knowledge, it is only recently that people started identifying with pirates. But why would you want to be like such horrible beings? Right, the image has become ridiculous and people tend to like sarcasm.

I will not write about how copyright corporations abuse the term to shoot at… well… everyone. Instead I wanted to know how people deal with the current legislation. Therefor we can introduce the term «corporate piracy», which means «the prevention of innovation and exploration of creative works by big corporations».

X ways of being a pirate

First of all, let’s see how we can become a pirate. There are tons of reasons for corporate pirates to be calling you a pirate:

1. Download music online

Or watch some movies on a popular site like youtube or vimeo which may contain copyrighted material.

2. Organise an event

And put on a radio! Or your collection of expensive CD’s! Or your collection of downloaded audiofiles, it doesn’t matter.

3. Reuse music in new material

This is my favourite way. Take 1000 songs and mash them up into a 10 minute movie which is an entirely new story! You’ll be fined for every song and the claim might be around 1billion$.

If none of these things has ever been done by you, I’m sure you once lend your friend a CD of yours. Technically speaking this is piracy as well.

Two ways of taking this system

Ignore the system, just do what you like, if you get caught, you’re one of the unlucky.

Hm. Not a good way of dealing with injustice, is it? Also, the law won’t change very soon. At least, not in the right way, so don’t put any hopes on that.

Patch the system

Don’t be a pirate! I often compare pirates to hippies. They both hate the system but instead of helping building a better society they ignore it. Let’s make this business healthy again instead, let’s find a new balance between consumers and creative products. Let’s find a way in which consumers can become artists.

If you’re an artist, let’s rule out the middleman. In fact, if your music is any good, you don’t need any protection of your music. Your real fans will buy your CD. Others will have a listen by hearing it on the radio, getting it over the Internet, by getting a CD of a friend… But don’t say these people are pirates for being curious! In fact, these people are the most important link in the chain of mouth-to-mouth advertising. Since no middleman need to be paid, the percent of the money paid by a consumer for a CD going to you, will increase enormously. Also songs bought online will have a much higher return. This will make up for the money not gained by songs played on parties or levies pulled on empty carriers or Internet connections.

If this incentive for a new business model appeals to you, you might want to take a look at what creative commons is all about. In 2012 I hope to start an organisation in Belgium which helps artists to take their music to consumers in a brand new way.

– Pieter


No more iRail on BonSansNom

A lot of my latest posts on BonSansNom were about iRail. Because each community member of iRail has his own blog and we want every iRail community statement in one place, we started http://blog.iRail.be. So this is my last post on here about iRail. If you want to stay informed about latest development, please add this blog to your RSS reader.

– Pieter

Meer concreet: Vervotte beantwoordt iRail


Samenvatting antwoord Vervotte:

  1. De rechtstreekse aanleiding van de cease and desist brief was een klacht van een klant waarbij de klant een kwaliteitsprobleem met iRail expliciet en onterecht toeschreef aan de NMBS.
  2. De NMBS is verplicht om haar belangen inzake intellectuele rechten te verdedigen. Ik heb wel aan de NMBS gevraagd om zich  wat soepeler op te stellen, als het gaat over het ter beschikking stellen van databanken die gebruikt worden voor gratis consulteerbare, informatieve applicaties op het internet.
  3. De NMBS geeft er momenteel de voorkeur aan om in dialoog te treden en op zoek te gaan naar een minnelijke schikking. Dat impliceert natuurlijk onderling respect van de betrokken partijen.
  4. De NMBS heeft contacten gehad met enkele grote bedrijven waarmee strategische partnerschappen kunnen worden afgesloten. De NMBS zal de contacten tussen andere softwarebedrijven en iRail niet beletten, als de samenwerking gebeurt onder de  voorwaarden die tussen de NMBS en iRail of andere bedrijven kunnen worden afgesproken en gerespecteerd.
  5. Om de rezigers degelijk te informeren en om te beantwoorden aan de doelstelling van het beheerscontract gebruikt de NMBS de  software HAFAS, die ontwikkeld werd door dat gespecialiseerde bedrijf.

Mijn bedenkingen bij de antwoorden van minister Vervotte:

Continue reading

Belgian public transport company teams up with Google

News! De Lijn, a Flemish bus company, is about to share its data with Google. This means you will be able to look up your trip on Google Maps and Google will return you the possibility of going by public transport. It is a nice step in the right direction since they’re thinking about usability.

But let’s be pragmatic: if their customers want to find their way to the timetables as easy as possible, there is no way they can afford it to support all platforms and all ways of providing data. Therefor there is an easy solution: open it up! Let everyone use your data! Dozens of people, such as the iRail-team, can’t wait to get started on developing new apps and tools.

So yes: News, but not good nor bad news. We’re status quo. Except for some politicians who might think they delivered good work. Am I going to use it? Yes, I am! Everything beats the website of the company at this moment. Am I happy with it? No. If I could I would use an application which is optimised for social interaction and works really fast on my non-googlish phone.

– Pieter

Een manifest voor innovatie

Mijn contributie op i-vlaanderen.eu staat online.

Discussieer mee over een interactieve overheid op www.i-vlaanderen.eu

In het kader van het toekomstproject Vlaanderen in Actie organiseert minister Geert Bourgeois, Vlaams minister van Bestuurszaken, op vrijdag 17 december een rondetafel rond het thema i-vlaanderen, de Vlaamse overheid interactief. Naar aanleiding van deze rondetafel is de site www.i-vlaanderen.eu in het leven geroepen, een platform waar gepolst wordt naar wat leeft bij burgers en bedrijven rond dit thema. Blogposts, inspirerende artikels, polls en opiniestukken wakkeren de dialoog aan. En burgers en bedrijven kunnen hun eigen ideeën en verwachtingen lanceren via een ideeënplatform.

Neem zeker een kijkje en discussieer mee!



– Pieter — @pietercolpaert

Transport data roaming

When I’m writing code I’m quite regularly distracted by what-ifs… For instance: what if I’m on a train towards Spain and I boarded in Belgium. As I have a smartphone with an application installed (let’s call it BeTrains for iRail) which gives me real-time information on my trajectory, I don’t want BeTrains to be useless once I cross the border. BeTrains should automatically switch to the trainsystem of that country.

This seems like a pretty good and easy-done concept. However we want to do it the right way: we don’t want other application developers to deal with the same hassle of implementing each country for which it wants to work for. We don’t even want to think about that. Every country should have the same standard for bringing its data to the public. To do this for the EU is a nice start since in Europe transport data is open by law.

We (the iRail team) are however not the right people to make this standard. Our momentum is too small for Europe. Who in Croatia is ever going to think they should be conform to the Belgian system? We need a European open standard for real-time public transport data. We can create a consortium that sets these standards as today everyone is opening its data in their own random way (standards should exist for all open data, whether it’s weather information or geolocation data).

Situation today for standardisation of public transport data

Talking about open data today is more and more accepted. For instance I came across this video about a presentation by the Massachusetts Department of Transportation:

This is an interesting evolution but if we look at their API response itself it looks something like this:

<Red Line=”Red”>


Clearly this kind of XML would not do the trick for real-time public transport data in Europe. We have some other companies who release their data like this as well, each company in another format, and slightly different information.

To make this «transport data roaming» work, we need someone to tell us what to implement. Just for now we’re telling people that we need this and we hope someone will come up with something we can implement. As at this moment we have an API we’re using this non-standard one we specified ourselves.

– Pieter — @pietercolpaert

Meeting the NMBS

After listening to Michaël Vanloubbeeck on their Internet strategy, he asked us straight away what we thought about their mobile web application. There are three points we thought worth mentioning:

  1. The number of clicks before you can see the right data is about 4 times too much. I only want to click once.
  2. There is no autocompletion on the station names.
  3. There is no button to switch destination and departure station

On top of that we noted that for big phones like most android, maemo/meego, bada and iphone phones, the site was too small. It was a great mobile website optimized for small screens and fast connections. We concluded that they, in comparison to iRail, have a totally different focus. Both approaches are needed however and we need to cooperate on this. The NMBS however responded that their mobile website is aimed to target all phones and anyone, which we can’t agree on. Discussion still open.

The second discussion is one that we started. We are still having difficulties with Stibbe. Stibbe is a respected law firm in Belgium who apparently has been hired by the NMBS to try to close us down. They’re quite aggressive in their approach by sending scary letters that our lawyer (if you read this, thanks for your free support, we appreciate it a lot!) seems to handle a lot  better than we do. They didn’t have a clue about that however. They ensured us however that they will *try* to stop these actions and let us work as we were doing. So the logical question for us is: “Can we hereby officially use your data?”; Yet this seemed to be more complicated as we thought. The real discussion had been started.
The first problem was that for the legal aspect of this we were talking to the wrong people. Personally we still think we are not  doing anything illegal and not one of their arguments makes that statement fall. As they are going to stop their lawyers however, we’re going to assume that there is no-one left to sue us and this has encouraged us to crank up our developing speed. The bad part about this legal story is that they didn’t guarantee us anything and we might get a reply about that matter in quite some time.

Their second problem was that the Internet and mobile devices are changing all the time. And there are so many mobile devices  they don’t know where to start developing. I didn’t really get why they use this against open data, but I guess it might be that they  thought open is just a fad like myspace which will disappear eventually. So this is where I protested heavily and said open data  would be a very good thing to do: they would provide a standard API for the data and provide a standard format. Everyone will be  able to make their app for their phone and their system. For free! Isn’t that something you should be happy with? No they said.  They wanted to be able to delete all the applications that didn’t fit their standard. So I started talking about free market where  people who use a bad app will eventually use another app. Discussion still open.

Some other interesting points:

  • They recognized that they were wrong by using lawyers in the first place without mailing us. They could have filed a bug-report if something did not meet their standards (which was a lot back then, we agreed)
  • They were already planning to provide their own API at some point in the future with a little data in it, to be used under certain conditions.
  • They are not (yet) convinced open data is the future. “It’s not because we’re a public company that our data should be public.”
  • Complaints about iRail that reach the nmbs will be, as good as possible, forwarded to our mailinglist.
  • They think iRail as external API provider is not an option. However, they did not explicitly ask us to stop (nor did they recommend us to continue). They’ll “quality check” iRail and provide us with feedback (probably just the mobile site, not our API)
  • We asked if Nokia could sponsor iRail without being sued by NMBS. That’s a question we expect an answer on in October. They didn’t understand however why Nokia wouldn’t come to NMBS for that instead.
  • They have partners with whom they share data. Partners include MIVB, De Lijn, Google, …
  • They promised they won’t block our IP’s (that’s not something we should be thankful for in fact. In our opinion it would be illegal for them to do so)

I would like to thank the NMBS for inviting us and I hope this will be one of many meetings. We sure did have a lot of arguments but I think that’s a positive thing. We are not satisfied with the outcome of this ffrst meeting, but rumour has it that Rome wasn’t built in a day as well.

Afterwards Yeri and I had a very good and inspiring chat. Keep informed because very soon we will cover you with awesomeness! (we’re serious about this)




-Pieter — Follow me on identi.ca

iRail meet-up: Report

Ironically we started a little later as planned due to unforeseen traffic-jams for Yeri and Christophe. Nevertheless  we did a great job and I want to start off by thanking all the participants and of course the hackerspace of Ghent.

From left to right: @Waza_Be, @pietercolpaert, @louisdedecker, @tuinslak, Arno, @maleadt, @coreation, @mathiasbaert - Missing: @hansbxl, @joristimmerman - Photo by Tuinslak (CC by-nc-sa)

Decided and discussed:

1. What should be in the API

We decided on 4 maincalls to the API (on picture, 4 black arrows to the right):

* Connections

How to get from a station to another with realtime information (delays, platformchanges, …), transits, stops, vehicle numbers, and so on. We also came up with the fact the we might want pricing information included, with a url to buy a ticket online, and whether tickets are still available or not (arrows on the left).

API 1.0 Brainstorm whiteboard at whitespace - Photo by Yeri Tiete (Tuinslak) (CC by-nc-sa)

* Lifeboard

Realtime information about arrival and departure of one specific station. A lifeboard contains the same information that you would see on the displays at a station.

* Stations

A list of all available stations in the API with geocoordinates. We might as well want to give each station a unique id. Someone suggested to use the already existing ID of Open Street Map. Personally I haven’t found any documentation about that yet. If someone can point me to that I would be very glad.

* Vehicle

Information about a specific vehicle. For instance the current geocoordinates of a train or plain, the stops a vehicle usually makes, … The most important thing we decided is the vehicle id. There is no such thing as an international ID that’s unique for 1 specific vehicle. Therefore we’re going to specify our international ID as:


For instance:


would be a valid ID for a Belgian NMBS intercity train.

2. Date/Time

The whiteboard about timestamps (Photo by Yeri Tiete (Tuinslak) - CC by-nc-sa)

An important discussion was how we will format the time returned for each connection. We found out that programming languages work with: ISO 8601 or with unixtime. So we will provide both in the way provided on the whiteboard.

3. Name of the project

BeTrains is the client of Christophe Versieux (@Waza_Be) and Jan Vansteenlandt (@coreation) for android. They have a lot of users and they started to use iRail as their content provider. BeTrains is a known name for android people.

On the other hand is iRail a well known name for people who are interested in open data. However the i in iRail is a little dangerous for abcdefghi™jklmnopqrstuvwxyz reasons. That’s why we will not name any broader projects after iRail. That being said project.iRail will be our mainplatform to develop. But clients will most preferably be called after BeTrains.

4. User-interfaces

Christophe Versieux on BeTrains

Christophe Versieux on BeTrains (Photo by Pieter Colpaert - CC by-sa)

Christophe Versieux gave a very good presentation about how to write a good user (/mobile) interface. We came up with some guidelines that are posted on project.iRail.be here:


And a page for user feedback


5. Legal actions

As usual, we discussed some legal matters as well. We comforted everyone that what we do is in our opinion 100% legal. We will give everyone an update 1 October. We’ll keep you posted.

6. Misc

You can reach our development API over here:

http://dev.irail.be/api/connections.php?from=Brugge&to=Brussel &lang=EN

This API version is not a stable version and should not be used for official releases!

If you want to contribute, our developer habitat is still at project.iRail.be.

– Pieter — follow me on identi.ca

P.S. – If you were at the meeting and I forgot to mention something, do not hesitate to contact me. I will include it asap

iRail meet-up – Friday 17 sept

On Friday the 17th of September we are meeting up with all people interested in open data to specify the iRail API. Whether you’re a graphical artist, a low-level coder, a mobile app developer, openness enthusiast, journalist, etc… you’re more than welcome.


We will meet up in the hackerspace of Ghent. The address of the location is:

Blekerijstraat 75 Gent, room 1.21

If you want to get there by public transport, the best way is to take the train to Gent Dampoort and walk from there (5 minute walk)

At the gate

When you arrive at the location you will find a closed white garage-door. If you’re unlucky and could not make it at 18:00 you can call me on +3248415542nine. We will open the gate again at 19:00, 20:00 and 21:00 or on ping.


– Gate opens each hour

18:15 – Welcome to the event. Explanation about the evening. This is the perfect moment for general questions.

19:15 – discussing the API specification on the whiteboard

20:15 – Talks:

  • How will we manage project.iRail.be as an open-source project (Pieter Colpaert)
  • Current legal situation (Yeri Tiete – @Tuinslak)
  • An example of a good user interface for iRail (Christophe Versieux – BeTrains – @Waza_be)

21:15 – Managed coding

  • Explanation on usage of github (Yeri)
  • Coding of the API with interested people (Pieter)
  • Coding of various clients with interested people (BeTrains with @coreation and @Waza_be, QT trains with Tim Besard, IPhone app with Ben Turner, Mobile site with Yeri…)

22:15 – Picture of all attendees

22:30 – Unmanaged coding

  • code whatever you want and stay until you want
  • talk to us about your specific ideas
  • have a good time

More links

Website of the hackerspace

Official event on project iRail

– Pieter – follow me on identi.ca