The shameful state of XBox 1 homebrew and the GPL
There is a large amount of useful software available for the XBox1. From original apps, to ports of emulators from other platforms. The large majority are ports of existing software. This was made possible usually due to the original authors making the source code available, often under the GPL licence. The idea is that you are allowed to use, and modify the code, but any changes will also come under the same licence – meaning you must make the source available to others.
Current XBox 1 developers seem to have no respect for the GPL and no respect for the work of the original authors of the software they have ported. They are building on top of others work, but keeping the changes private. This is an issue that has been bothering me for some time, but has gotten significantly worse over recent times. We wouldn’t even have the large selection of emulators had the source not already been available. It seems a pretty easy concept to grasp – we benefit from the source licence of the original software, so we should follow suite and comply with the original authors wishes. Licence aside, it’s still the respectful and decent thing to do.
What is happening currently, is not only a breach of the original licences, but very disrespectful to the original authors.
I have read countless excuses, the most prominent one being “Author X will use our code if we release it and they don’t release theirs”. This isn’t an excuse though – if they are breaking the GPL, then why not contact them about it (or the original authors of the software). The old saying “Two wrongs don’t make a right”. Devs should look at their own compliance first.
XBMC is GPL licenced for example, and as such we make all XBMC4XBOX code available in a public code repository - http://www.xbmc4xboxorg.uk/development/ – if you use code from XBMC in your own GPL project, you are expected to release the source. (http://xbmc.org/team-xbmc/2003/10/31/please-respect-the-gpl-license/
There have been discussions (some heated) about this recently. I happened to be reading a forum earlier that suggested I was breaking the GPL, by providing XBMC code to others who are not GPL compliant. This is of course nonsense – and I did no such thing. Our code is public, and the author in question took the patch from our repository. Thanking me in a readme is actually no thanks at all if you are breaking the source licence. Today was the first I had heard about it, and the code in question.
Because of this and the fact XBMC code was being used in a few of the emulators I wrote a polite request on the http://www.emuxtras.net forum for the sourcecode to a emulator update. Shortly after my post was deleted, so I asked again and queried the deleted post.
Pretty shameful state of affairs. How do you think all the original authors would feel – to see the way their hard work is being abused. This childish attitude has to stop. I am hoping when I get a reply later the author in question on emuxtras is going to do the decent thing.
That goes for the all the GPL emulators over at Emuxtras that are not released with source, coinops, and the XBMC based apps such as Dragon/Vision. Release your source code. Even better work on it in a public repository, and you can all benefit from each others improvements, as well as making it far easier for people to collaborate.
It’s worth noting this doesn’t happen in the other homebrew scenes. This bad behaviour seems an Xbox exclusive.
One last note:
Something that came up in an earlier discussion, was an accusation of double standards on our part, for arguing about the GPL and then providing builds created with the XDK, which is a breach of Microsoft’s end user licence. One wrong does not excuse another, but we will not be providing any new builds.