Although the existing licence alteration scheme has not proved very sucessful, while devices are in use (and phone contracts are still current), there is a case for code-release or official updates (cough!). The release of code might be based on one or more of the following reasons (there may be others too): (a) Fix those parts of the OS (inc. drivers) that prevent the device operating as advertised, reasonbly expected* or that make it in anyway not wholly fit for purpose. If provable, There might be some grounds for consumer-rights action in this area. The graphics driver (I know it's not just Nokia Corp. involved) is one of the most obvious areas where there's a difference b/w advertised and actual performance - there was no mention of frame-dropping for video playback or image-shearing in the press, was there? (b) Allow the OS to be extended/improved. Probably not really in Nokia's (or ms's) interest to keep old devies alive unless such an extension/improvement addresses something listed in (a) OR shows a proof of concept that can be used (by Nokia etc.) in future devices. (c) For application s/w development. Again, unless such s/w addressed something listed in (a) or showed proof of concept, which might help Nokia etc., this argument has the least weight (I beleive). (d) Allow the device to operate to its full potential e.g. formal BT input support or UI improvments to allow direct printing. This might be possible if release of code wouldn't harm sale of future devies or Nokia etc.; it would be an easier decision for those areas only concerning Nokia. Would it be a valid argument to suggest that doing so would promote the sale of non phone Nokia devices (future or existing)?
Does the _full_ source (even of requested sub-sections) need to be released, or would header files with precomiled (obfuscated if necessary) lib/[binary-type] files be sufficient? (I'm Assuming that interface and implementation can be separated.) For OS development (fixing problems), clearly the whole source is necessary, not just the interface; if the implementation of a given class/function is completely rewritten, then the existing (closed) version maybe done away with altogether. Again, for application s/w development one only needs to include a well commented header file to make new applications.
From all the people on the "Yes list", I'm sure many do not have s/w in the Maemo repositories (though many may report operations as testers) and whilst being a vocal member of a community is important, for everyone to have access to the source is, I think, not necessary. Also, as someone mentioned, who would be liable if "improvements" were found to make the device dangerous to use, or a dependecy clash caused 50% of devices to brick? Who would sign-off any OS fixes/improvements/extensions? One idea might be: if projects requiring currently unreleased source had to register via the council (or a dev sub-committee, or similar) and developers needed to register with the project to obtain these sections, some trace of what was going where could be made, then perhaps even the most sensitve parts might get released and fixed?