Open source Comprehend Engine

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
rmallon
Posts: 2
Joined: Sun Jul 12, 2015 5:33 am
Contact:

Open source Comprehend Engine

Post by rmallon »

Hi all,

I made an open source/public domain version of the Comprehend/Graphics Magician engine which was used to make the Penguin Software graphical adventures: Transylvania, Crimson Crown, Oo-Topos and Tailisman, Challenging the Sands of Time. The first three games are all playable (Talisman uses a modified engine which I haven't fully looked at yet).

The source code is available at: https://github.com/RyanMallon/recomprehend

You'll need LibSDL2 and a Linux machine (or a little bit of porting work) to build it and a copy of the original DOS games to play it.

If anybody is interested in integrating it into ScummVM I have released all the code under public domain.
User avatar
DrMcCoy
ScummVM Developer
Posts: 595
Joined: Sat Dec 17, 2005 1:33 pm
Location: Braunschweig, Germany
Contact:

Post by DrMcCoy »

Very nice. :)

But please, attach a proper license.

(DISCLAIMER: I am not a lawyer, and this is not legal advise)

Unfortunately, "public domain" doesn't work this way. First of all, you can't actually put anything into the public domain; instead, things fall into public domain automatically (governed by certain rules, like a high age of the work).

Moreover, this concept of the public domain does not exist in all jurisdictions, and even varies wildy between jurisdictions. For example, "The Big Book" of Alcoholics Anonymous is within the public domain in the USA, but in many European states it is not; and from what I hear, the Alcoholics Anonymous World Services, Inc. actively pursues copyright infringments there.

Another issue is warranties and liabilities. You see, in many jurisdictions, there's an automatic implied warranty (of fitness for the stated purpose, of noninfringement of copyright, ...), and people theoretically could sue you for violations of these. That's why you usually see statements like "this software is provided 'as is' without warranties" in software licenses. This is also one of the reasons why The WTFPL is not a good idea.

So, for both everybody's benefit and your own, you really should attack a proper software license. See, for example, this Choose a License website, which gives you some of the options with explanations.

In general, if you want a widest, most permissive use possible, you should either:

Choose one of the licenses of the BSD-family (3-clause, 2-clause, ISC, with each stripping off a bit), but those still require copies of the code to attach your name and the text of the license itself.

Or use the CC0 Public Domain Dedication, which is functionally equivalent to "putting something into the public domain", but includes language that frees the code even if that is not possible in the jurisdiction in question (for the reasons stated above), and waives away any warranties and liabilities.

All of these licenses have been vetting by lawyers, and while that is of course not a 100% protection that these are absolutely water-proof and will hold up in court (there's no such thing), that's much, much better than just saying "this is public domain".

As another alternative, there's also the Unlicense, which is similiar to CC0, but much shorter and simpler. Personally, I heard some lawyers familiar with copyright law express that they're not completely happy with the language in this license. I for one have no idea (again, not a lawyer), but that was enough to not make me consider this license for my own stuff. YMMV.
rmallon
Posts: 2
Joined: Sun Jul 12, 2015 5:33 am
Contact:

Post by rmallon »

Thanks for the advice. I've gone with the CC0 license. The intent was to make the license for the code as permissive as possible to allow people to do whatever they want with the code.
Post Reply