ESA: preserving old games is hacking and therefore illegal

19 replies [Last post]
t3g
t3g
Offline
Joined: 05/15/2011

https://www.eff.org/deeplinks/2015/04/videogame-publishers-no-preserving-abandoned-games-even-museums-and-archives

Not sure you saw this on the EFF site, but the ESA is now saying that preserving old games classifies as hacking and hacking is illegal. This applies to museums too.

tomlukeywood
Offline
Joined: 12/05/2014

-.-

ESA i hate your association

marioxcc
Offline
Joined: 08/13/2014

It may look like it would be good news for free software if the laws of the US allowed people to “preserve abandoned games”, but actually it hardly is. Software with no source code available is proprietary. It doesn't matters if people have the legal permission to perform a small type of modification struggling with reverse engineering and machine code. Like any software, games must be free, they serve a practical purpose: to entertain. Users must have the freedom to modify them, so that they control their own informatics instead of a monopoly interested only in earning money through putting technological restrictions on information until it is as restricted as physical objects (mainly DRM).

In the digital era, information can be copied and used any number of times with minimal cost and without users interfering with each other. When laws allows software developers to take away these natural properties of information, it is putting the means before the goal; like as if law didn't allow us to cook our own food so that we would have to eat outside and the food sector would profit more. The role in society of the software economic sector is to develop and maintain software, profit should be a side effect of that. If the software economic sector thinks it can't profit enough with information flowing freely (that is, developing free software), then it must change its practices or go away, not cripple the free flow of information.

The proposal in the linked article fails short to address the problem of proprietary software and the unjust power monopolies have over individuals through informatics. Metaphorically, it is like asking law to allow users to eat the breadcrumbs that software monopolies throw away.

People actively make themselves subject of these informatics monopolies; they are eager to do so at any opportunity. We have had e‐mail for much longer than “social networks”, and there are plenty of search engines, and now, federated social networks, yet people actively hand their personal data, trust their personal communications, and their computing to the to monopolies like Facebook, Google, Microsoft and Apple, giving them yet more power over society. It's terrible, but that's how most people behaves. Therefore, it comes as no surprise that a bunch of gamers are basically begging the lawmakers to be allowed to collect the rotten breadcrumbs of these monopolies. It's denigrating, they ought to demand a real change. Users of discontinued proprietary software are making themselves subject of an injustice, just like the users of any other software and centralized communications services.

However, if this proposal is successful maybe it will set a precedent so that eventually there is a real change, like requiring all software to be free software by law, or at least requiring that it is published as free software when commercial development is discontinued by the original developer. As described in the EFF article, it doesn't gives society anything that it needs.

SuperTramp83

I am a translator!

Offline
Joined: 10/31/2014

Software with no source code available is proprietary. It doesn't matters if people have the legal permission to perform a small type of modification struggling with reverse engineering and machine code

And there are a lot of people who seem to ignore this and release their software without any kind of license actually thinking they are doing a good thing..
The licensing is the true key of free libre software. Without GPL and so we wouldn't be using a complete 100% libre OS right now.
Games could be free but being that they are a huge business that involves incredibly high pile of cash, I don't see them getting free (as in speech) any time soon..
And the libre side of gaming is really very poor "technically speaking" (like in graphics, not talking about gameplay) it is a shame. And there are emulators - we can have a lot of fun using proprietary roms from 1992! :)

lembas
Offline
Joined: 05/13/2010

More in the same vein (old news): http://www.theguardian.com/technology/blog/2010/feb/23/opensource-intellectual-property

So, the solution to all these problems is not giving a dime to MAFIAA and its various grimy tentacles. Don't buy their stuff, don't download it, don't discuss it.

leny2010

I am a member!

I am a translator!

Offline
Joined: 09/15/2011

If you read the first two books on this page http://inventwithpython.com/ (gratis, online). Then you should be able to clone almost any 8-bit or 16-bit game on any computer which will run Trisquel. Remember FSF canon says you can run proprietary software if you're developing a free replacement for it.

Get coding folks.

BTW the books are aimed at school age. So almost no obstacle to doing it.

onpon4
Offline
Joined: 05/30/2012

Don't underestimate the difficulty of making a perfect clone of a game. Fangames all over the place try to do this, and they almost always fail. It can be done, but I think it's much more worthwhile to develop new games that are as good as these old games (or even better), rather than try to meticulously reverse-engineer and copy these old ones, especially given the added challenge of doing this legally.

Also, Pygame is a terrible idea for a library to use. I don't know why people keep recommending it; it's outdated, low-level, and not particularly actively maintained. If you're going to use Python, I recommend either my SGE Game Engine, or the more well-established Cocos2D. If you want to go low-level (which I think is kind of a weird desire if you're using Python), try either Pyglet or PySDL2.

Other possible things to try: GDevelop, Godot, Love2D.

t3g
t3g
Offline
Joined: 05/15/2011

I haven't developed any games using Python, but how is your experience when using Cython and those libraries (SGE, Cocos2D, PySDL2, and Love) if you use Cython at all. I heard it is really nice for getting low level and converting Python code to low level C or C++ source code and the ability to talk to other C or C++ libraries.

onpon4
Offline
Joined: 05/30/2012

I've never used Cython (haven't needed that kind of optimization yet), so I can't comment on that. But I should point out that Love2D is Lua, not Python.

Calinou
Offline
Joined: 03/08/2014

What about PyPy? It's a JIT interpreter for Python. http://pypy.org/

Godot is really nice, here's an example of a libre 2D game using it: https://github.com/alketii/minilens

onpon4
Offline
Joined: 05/30/2012

That's another reason to not use Pygame: Pygame doesn't work with PyPy because of its C components. (There's a Pygame implementation called "pygame-cffi" which works with PyPy, though. I haven't experimented with it yet.)

I haven't used PyPy yet, but I once used its predecessor, psyco, and it produced an incredible speed boost.

leny2010

I am a member!

I am a translator!

Offline
Joined: 09/15/2011

@onpon4 - Put aside your expertise in 2d development for a while and think whether the books / Python / PyGame package being 'so simple a kid can do it' is the right place for people with little or no programming experience to start. Because that's why I was rec'ing it.

onpon4
Offline
Joined: 05/30/2012

Pygame is especially terrible for novices. It's not simple, it's not easy, and it's not high-level. Using Pygame isn't quite as difficult as using SDL, but it's pretty close.

When I learned Pygame in 2010, I had some programming and game development experience, since about 2008. I still had a hard time learning it. There are all kinds of little things you have to pay attention to in Pygame, and all kinds of details you have to learn.

What I recommend for beginners are exactly what I mentioned before:

GDevelop: http://compilgames.net/
Godot: http://www.godotengine.org/
SGE Game Engine: http://stellarengine.nongnu.org/
LÖVE: https://love2d.org/
Cocos2D: http://www.cocos2d.org/

I haven't actually used all of these, but I'm pretty confident that they're all worlds easier for beginners to learn and use than Pygame.

leny2010

I am a member!

I am a translator!

Offline
Joined: 09/15/2011

Notions of difficulty are, of course, relative. E.g. when RMS said reverse engineering is 'difficult' his comparison was 'low hanging fruit' and he said Universities must teach it. Which by implication means most average graduates can learn it. Which indeed they can, before DMCA it was legal and common here in the UK and average gradutes were often required to do it. We should compare this with one of RMS's early attacks on software patents where he said 'there is little which is difficult in software.' This will be in relation to things like the advanced Math he as a gifted student studied at Harvard. Or to use popular terms - rocket science or brain surgery.

And that is the essence of our difference of opinion. Were are both operating to different anchors / criteria. You are entitled to your opinion and criteria of course. But as yet you have given no basis for your opinions other than you've coded something and like everybody says they are a good driver, all developers say they are good developers. So some other basis or reference is needed or they are merely your personal opinion that PyGame is _terrible_ for novices.

Whereas the books I cite were written by a qualified and respected educator on the basis of the experience of teaching the materials to young novices. I bought my then 12 yr old nephew hardcopies and his opinion was 'They were great!' Further AIUI the reason PyGame with Python is fashionable is they were selected as suitable for beginnners by the academics, educators and respected games professional who advised the Raspberry Pi Foundation. Although they made plain PyGame itself is not an ideal tool for the job, merely it is good enough / adequate to the task.

You say '[not] high level' when Python itself is widely recognised and well documented as a Very High Level Language (in Lutz's books for O'Reilly e.g.).

You are recommending on the basis of some value of easy. While I'm suggesting PyGame for the same reasons as RPi, as suitable for beginners because it will give them a good grasp of the fundamental concepts underlying the more advanced tools they will move on to. There's a big change in the UK schools computing curriculum being rolled out at the moment. The reason being the whole of the UK IT industry has identified that those of us who in the UK 8- & 16- bit generation are more internationally competitive than later generations because we learnt the fundamental concepts from using the BBC Micro Model B (which got a favourable retrospective on a FSFE blog last month.) So fundamental concepts are considered important for beginners by not a few in UK education and computing. PyGame, exactly because it is low level, is good for that.

Then I have to question the notion that 'easy' is a valid criteria for games development tool selection. The tools the professionals use for 3D games creation are not easy to learn to use. Degree level Games Design courses teach them to the point of fluency. The libre solution, Blender, is beginning to compete with them and is designed to be powerful and fast in use before 'easy.' In fact it is famously a steep learning curve to become a fluent user, but once you're there it is a brilliant tool.

Then we have the fact PyGame is in the Trisquel repo, whereas I can't find any of the ones you mention in there. Distro repo curation establishes an important quality barrier for free software. It means the lower quality stuff which *everybody* writes while they're learning their craft, and because we're free software that is done in public on the web, is excluded. Not that software which isn't in the repo is necessarily poor, there's a delay and the upstream distros have long to do lists of stuff they've yet to include. But still, I'll draw attention to the fact that *none* of the tools you mention have made it (yet).

Which is doubly strange for your tool / library because with the new dev systems getting into the Trisquel repo is little more than a packaging exercise. And if it had been packaged or PPAed upstream getting into backports is very simple. So if it has been package upstream more recently than 14.04 then let me know, and I will do it.

So I have made plain some of the bases for my suggest. I make no claim that Pygame is the best tool, or that there are not better tools. However, I do maintain it is suitable for beginners both from personal experience and in the advertised opinions of those more qualified to judge such things than I am. I will also draw attention to the fact my recommendation was specifically limited to the purposed of being adequate to recreating 8 and 16 bit games. There is effectively only one answer to what is the best free software tool for creating games in the generic - and that is Blender. Which has featured at the last two LibrePlanets. But suggesting that for beginners would be a bit like saying 'Oh, you've just started to learn the violin? You must get a Stradavarius, all the best players have them.'

The important point here is that PyGame and those books are a good starting point, *not* what you will use when you become proficient. In the violin metaphor, what you learn to play your scales on. Because I have 'supervised' (i.e. not academically) students studying Games Design degrees at a local University I am fully aware that professional practice is something entirely different to PyGame.

* * *

So as I've said you're entitled to your opinion, and as I've implied doubtless one of the tools you mention or something like them are better for developing 2D games once you have got to grips with the fundamentals. However, I must now turn to your statement:

> It's not simple, it's not easy, and it's not high-level.

As I've said difficulty is relative, but the above statement is relativism so far down RMS's 'low hanging fruit' axis it lies among the rotting windfalls on the orchard floor. Something most ordinary adolescents can learn to do is self evidently fairly simple and fairly easy. On the scale of programming tasks writing the PyGame games in the second of those books is definitely simple, straight forward and high level. It would be, it's introductory material.

onpon4
Offline
Joined: 05/30/2012

> Then we have the fact PyGame is in the Trisquel repo, whereas I can't find any of the ones you mention in there.

LÖVE is available in the love package. It's quite a well-established framework.

> But as yet you have given no basis for your opinions other than you've coded something and like everybody says they are a good driver, all developers say they are good developers. So some other basis or reference is needed or they are merely your personal opinion that PyGame is _terrible_ for novices.

You haven't given a basis for your opinion either, other than a couple books that were originally published in 2008.

Pygame was a great library in 2008. Pyglet wasn't very well-established, being a new library, and we didn't have Godot or GDevelop. It's not 2008 anymore. Pygame has no particular advantages over Pyglet today, and we also have the other utilities and libraries I mentioned. Pygame is still somewhat decent, which is why, being familiar with it, I used it as the backend for the SGE Game Engine. But for beginners? It's the last thing they should turn to.

leny2010

I am a member!

I am a translator!

Offline
Joined: 09/15/2011

> You haven't given a basis for your opinion either, other than a couple books that were originally published in 2008.

By this you presumably mean 'cited personal experience' rather than 'cited the opinions of qualified, even notable people and the experience of one sample novice.' If I had this would have just decended into yet another 'emacs vs vim' argument. As Simon 'Crem' Brattel once said of such discussions 'it's a matter of religion.'

Yes, I use PyGame and have off an on for years - but only in an endless and thus far fruitless series of personal experiments in the hope of finding something graphical 'action' (as they used to call it) which both able bodied people and I with my disability can play with something like equality. So what am I to say, it fits my rather specialised use case? I mean, obviously, since I'm so clumsy in RL the last things I need are a real world physics library and a development environment which is point an click. And in any event these days I am probably using PyGame simply because I 'always' have. But there's an element of Python being widely acclaimed for RAD, and so it's a great language for quick, cheap experiments which involve lower level control.

Whereas, amongst others, you rehearse this opinion:

> But for beginners? It's the last thing they should turn to.

And have yet not said where such beginners are to find supporting educational materials, written by a professional, for these tools you recommend. Do you happen to be a teacher, or do you teach these at a club at one of your local schools or something? What is the basis for your statement above?

As in endless repetition of the same opinion was demonstrated to be risible in the Monty Python Argument Sketch.

Or perhaps I can call on you to further demonstrate your claimed expertise, by asking you what are the current tools you would recommend from experience a 2D games developer use to audit their graphical assets for the common forms of colour blindness? Because proprietary games most certainly do not do this, and free software should definitely make a point of doing it for their games.

JadedCtrl
Offline
Joined: 08/11/2014

I don't mean to barge in or be rude, but this is kinda going off topic. Perhaps a Troll Hole thread should be made?

leny2010

I am a member!

I am a translator!

Offline
Joined: 09/15/2011

OK, I won't reply further to the thread.

SuperTramp83

I am a translator!

Offline
Joined: 10/31/2014

:)

t3g
t3g
Offline
Joined: 05/15/2011

Here's another guy talking about ESA: https://www.youtube.com/watch?v=dGSWHvSLkIY