Firstly, the teacher - for not verifying an important trip with the bus companies. Though surely there aren't many examples of this sort of thing (i.e school kids would go on a private bus on a trip, at least where I come from :P).
If the application is displaying incorrect data, incorrect as in what is displayed is different from the data supplied, then that is an application error (assuming a non-malicious alteration). It's a bug. Ultimately bugs can hardly be blamed on anyone but the developer. I'd like to think most developers (of which I am one) would agree with this.
If the data supplied was incorrect, the blame then lies with the person who released the data. In the case of bus timetable data presumably this error would also be reflected on their own timetable website, and is effectively no different from publishing the wrong data there. You apologise and release the fixed data ASAP. Incorrect data my cause people to miss appointments or meetings, and even make them a little angry/upset - but it won't cost anyone their lives. I can't think of any data that is likely to be released that ever would.
This then raises another interesting question though. There will always be a delay from when the data is updated to when that change is reflected in any sites using that data. Who is then to blame? Or perhaps more appropriately, what is the expectable delay between new data being released and all third party apps being updated.
I don't know if there is a standard for that anywhere, as it will change wildly depending on application. Some data will be released once, and that's it (Crime Stats for 2009) etc. is not likely to ever be updated... you would get new figures for 2010, but that's separate data. The onus would be on the developer to not simply call their app "Crime stats for last year" - as that would change expectations!
For bus data though, things are some what different in that once new data is released the old times could be potentially be completely wrong. You would want that data updating as fast as possible. It's a bit off topic, but in cases like this I'd simply suggest that a bit of communication would be required - perhaps issuing the new data before it becomes current, so that developers could switch to the new data at a designated time. If a new timetable comes into effect on Monday, why not release the new timetable to developers the Friday before. I wouldn't imagine it was a secret anyway.
Perhaps even easier, though less ideal for the third-party apps, would be for data that changes over time - simply issue it with an expiry date and request(require?) that third parties to issue a notice to users once that data has expired.
---
I don't know what popular consensus is around this topic, but I don't personally understand why there is a concern from data providers that it is their responsibility for how that data is used. Any morale/ethical or legal implications of using data in a particular way should always fall upon those using that data in such a way to raise those questions.
As an example, what if someone created a site with the tree data called "lets kill all the trees in trafford" and then had a map marking which ones had and hadn't been vandalised etc. Maybe it would even have a scoreboard. You wouldn't go after that site because they were misusing that data, especially if other third parties were using it productively. What you would surely do is go after them for what it is they're actually doing? (am sure it would be against some laws, I'm just not sure which ones!)
I see this as no different as to how car manufacturers are not held liable for all the car accidents that occur during the course of real life. What the manufacturers are held accountable for is the quality and safety of the car, which aim to reduce the amount of accidents due to faulty manufacturing (and of course damage that any accidents may cause to humans). Open Data should have "safety measures" too - ensuring that it is released in predictable ways such as at regular intervals (when relevant) and to as high a standard as possible, pick a sensible and clear format - and communicate any changes to developers explicitly (a simple change log should do this?). Maybe it would be worth solidifying what developers should be able to expect from open data, and using that to guide those that are releasing it. Maybe even a rating system for data, gold standard meets all of them, silver meets 3 or 4 etc....
Apologies for the rant, don't know what got into me. I should probably get back to work :)
Rob
Rob Gough