On Mon, 17 Dec 2012 00:19:51 -0800, deadalnix <deadal...@gmail.com> wrote:

On Monday, 17 December 2012 at 08:02:12 UTC, Adam Wilson wrote:
With respect to those who hold one ideology above others, trying to impose those ideals on another is a great way to ensure animosity. What a business does with their code is entirely up to them, and I would guess that even Richard Stallman himself would take issue with trying to impose an ideology on another person. What does that mean for D practically? Using a close-to-home example, imagine if Remedy decided that shipping their ENTIRE codebase in .DI files with the product would cause them to give away some new rendering trick that they came up with that nobody else had. And they decided that this was unacceptable. What would they most likely do? Rewrite the project in C++ and tell the D community to kindly pound sand.

A license agreement is not enough to stop a thief. And once the new trick makes it into the wild, as long as a competitor can honestly say they had no idea how they got it (and they probably really don't, as they saw it on a legitimate game development website) the hands of the legal system are tied.


But that what I say !

I can't stop myself laughing at people that may think any business can be based on java, PHP or C#. That is a mere dream ! Such technology will simply never get used in companies, because bytecode can be decoded !

I use C# everyday at my job. We have expensive obfuscater's to protect the bytecode. Even then it isn't perfect. But it's good enough. With the metadata model of .NET this isn't a problem for public API's, just tell the obfuscater to ignore everything marked 'public'. However, with DI's being a copy of the plaintext source and NOT bytecode you run the risk of changing the meaning of program in unintended ways. You see, in CIL (.NET bytecode) there are no auto's (var's) or templates (generics) the C# compiler does the work of figuring out what the auto type really should be or what the templates really are is BEFORE it writes out the IL, so later when the obfuscater does its job, there are no templates or auto's for it to deal with.

In D, we don't have this option, you either have plaintext, or you have binary code, there is no intermediate step like CIL. Hence we can't use the obfuscation approach.

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to