DRM in Open Rails? Why? How is this any different than Railworks?
#2
Posted 17 June 2012 - 02:12 PM
For users creating items they wish ALWAYS to be freely availble they may wish to create a GPL (Gnu Public Licence) style licence. The GPL is used by Linux and is writen from the outset to prevent anyone from restricting the distribution of the item or its src code in any way. So if one creates this style of licence to apply to there content this will (legaly anyway) short circuit this type of theft.
#3
Posted 17 June 2012 - 04:09 PM
Assume for a moment that all content used in a route that is being viewed by Open Rails comes in the .s format and textures as .ace. Because .s has a number issues tied to MSTS ca. 2001 an optimization "translator" would be provided that reads the .s file and turns it into, oh, I dunno, let's call it the .xyz format and for textures .jack -- which fixes certain problems. I'm being vague here because I don't know what is wrong with MSTS files except to say I recall numerous people who know more than I do saying they have problems.
First issue: Should the translator store the .xyz file on disk or should it be only memory resident? Obviously if all the conversions were to occur at run time it would take quite a while to get started... so the preference would have to be to do the work well beforehand and store the .xyz format as a file on disk. Second issue: Does that infringe upon the rights of the person who created the .s file -- payware or freeware? Ahhh... well... maybe. Quite likely to have a variety of opinions on the matter, some of which may well be inflamed. Third issue: How do you "calm down" those folks who don't like this optimization step? Well... you could introduce another layer of DRM that assures the converted file is useless on any other PC. Last issue: But if what you run is locked to a specific machine, how is anything distributed? Same way it is today -- the .s format and the .ace format... or any other format that can be read and processed by the optimizer. Maybe that is collada plus .tga, or something else, I dunno.
Point is it is easier for the OR program to read in one format for shapes, one format for textures... but that means everything has to be .s and .ace, or, it you want shapes with more shaders, textures with bump maps, who knows what -- call it The Future -- you need a program that can read many formats and output one.
Again, I dunno if that was the thinking that is reflected in the architecture document... but it is what I think are real issues in getting around the limitations of the old MSTS formats w/o throwing everything away. FWIW, I think it is a fine idea that will run straight into unmovable opposition from some content producers.
#4
Posted 18 June 2012 - 09:34 AM
Eldorado.Railroad, on 17 June 2012 - 01:18 PM, said:
Pleased to see the Architecture document is getting an airing.
I think you have this backwards. If you take an object that has been compiled by the Open Rails Content Compiler, it cannot be re-distributed as other OR systems will reject it.
That's how I read it and so most (all?) of your concerns do not apply.
#5
Posted 18 June 2012 - 10:40 AM
First, hopefully to resolve your concerns, the feature you described is in no way a DRM mechanism. The document doesn't as yet speak to the distribution format for the files, nor whether that format will be editable by the end user. It merely indicates that its the intent that the internal 'compiled and optimized' data does not become the distribution format. There are several ways to enforce this - ie by burying the data in a monolithic database with no means to extract it, or by ( as the document mentions ) utilizing CPU serialization to ensure that it hasn't been moved.
#6
Posted 18 June 2012 - 10:51 AM
However, in practice, I cannot think of a way that an open program could provide any kind of an effective mechanism for this. Having visibility of the code, someone would always be able to write a 'converter' to an editable format. Even burying the code in a closed .DLL wouldn't work since the output of that DLL could again be used as a basis for a converter.
So, it may be some reassurance to you, and a consternation for others ( like me ), that OR is very unlikely to have any type of secure DRM enforcement. As we have done so far with MSTS, we'll have to rely on the goodwill of the community to self-police this.
#7
Posted 19 June 2012 - 09:05 AM
Eldorado.Railroad, on 19 June 2012 - 08:06 AM, said:
Eldorado.Railroad, on 19 June 2012 - 08:06 AM, said:
I think we're arguing for the same thing here, perhaps from different angles and certaily with different language. Let me try rephrasing the whole of 1.8 in the document.
Quote
- Original Content for the game will be standard/publically-defined and easily editable formats.
- Optimised Content for the game will be internal formats, designed for the fastest possible loading and processing.
- The game will compile the Original Content into Optimised Content automatically, when either
- the Optimised Content does not exist for the Original Content being loaded, or,
- the Optimised Content was compiled on a different computer.
- the Optimised Content does not exist for the Original Content being loaded, or,
- The game will only load Optimised Content.
(If others are happy with my interpretations and phrasings, I'll update the document itself.)
Eldorado.Railroad, on 19 June 2012 - 08:06 AM, said:
Nothing, I suspect; the purpose of the re-compiling / "CPU serialization" is to thoroughly discourage anyone from distributing the compiled files - since they won't load without being edited. I doubt we could make this secure without blowing the loading times (you could cryptographically sign or encrypt the files using the computer's identification as the key - so failing to decrypt means you need to re-compile - but cryptography is really slow).
#8
Posted 19 June 2012 - 09:18 AM
- The architecture doc is a WIP and designed to identify potential issues, design objectives, coding concepts, etc that may arise, need to be considered, or otherwise addressed ... IF the OR team believes the code should be restructured
- It's not a build list of features
- Every word or item in the document should not be taken as a "fait accompli"
- The OR team has not agreed, if or when, this effort should be undertaken
As the project comes closer to reality, we will certainly solicite community input on any significant architecture or content decisions. IMHO, this is waaaaay to early to be having this detailed a discussion.
#9
Posted 19 June 2012 - 09:20 AM
#10
Posted 19 June 2012 - 09:59 AM
So though it's nice to have this 'protectionism' in OR - a developer would have to be darn cocky to actually use it, and/or have 24/7 support if and more so WHEN something goes wrong with their product.
But I certainly look forward to any tools and utilities that could analyze, if not totally override to allow a daring individual to fix and/or modify any encountered problems. At worst, if a complete failure - let it void the warranty with the proprietors. Which is still going to give them a bad name down the road anyways. Minor to major faults and assumed patience to correct them does not make for a happy end user.
Okay, I'm out of the pool now! :D