Re: How safe is intellectual property in compiled binaries?



Random Programmer wrote:
Hello all. I have only passing knowledge of the shady world of hacking
& cracking, but will your source code remain private & safe even if you
publically distribute binaries/executables of your program? Will people
be able to disassemble/decompile your code to view the source code?

It's fairly possible to disassemble code to view the assembler-level code, and it's also possible to backform that into other languages.


What gets lost in this transition, generally, are variable names, comments, and a lot of the organization. At this point, you've probably (if you're doing any serious programming) spent some time working with other people's programs, and thus you should be aware that for a large computer program, understanding it _with_ the benefit of the proper source code and comments and so forth can take months. Without that, it will take even longer, and be of even less use since one can't really use the resulting understanding profitably without recreating the whole program.

Moreover, in most numerical algorithms, there are a few things that are difficult to understand and very important for stability or accuracy, in the midst of a lot of other things that are much less critical. Having the source code doesn't provide anyone with that understanding, much less the understanding of how to adjust the values when other things change.

When I finish my PhD in a few years, I don't want all my hard work to
just be stolen and copied!  I will probably speak to my supervisors when
my thesis submission date is closer, but I'm interested to hear from
the PhD holders here -- whether you think it is a good idea to "dumb
down" the program you submit with your thesis, so that you alone remain
the only person who can do this-or-that.

Your thesis is _supposed_ to provide a sufficient description of your experimental process that someone else could duplicate your results from it. The point is to contribute to public knowledge.


Personally, the only reason that I'm not going to put my programs up on my website in full commented source-code form when I finish my Ph.D. is that a lot of the internals of them are hastily patched together, and I'd be ashamed to show that off in public (and would hate to have to answer questions about how to fix bugs in it!).

My hard work isn't really in the programs, anyway -- it's in understanding why they work, and knowing the program well enough that when I want to do something different with it, I know how and where it all works well enough to know where to find the dozen things that need to be changed.

Beyond that, I owe a debt to other authors who put their algorithms out in public (not source code, but a sufficient description in their paper that I could write source directly from it) -- their publications saved me months of work in getting results, and notably improved the results that I did get. My work certainly isn't a matter of "stealing" their work, and it doesn't diminish their abilities in any way -- it's fully credited, and I'm using it for something completely different than what they used it for.

- Brooks


-- The "bmoses-nospam" address is valid; no unmunging needed. .



Relevant Pages

  • Re: how to Learning C#
    ... Windows Forms Programming in C#. ... Manning Publications, ... full source code listings. ... "Mono - A developers notebook" O'Reilly, Edd Dunbill, Niel M. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: How do I approach this?
    ... software before you have an understanding about ownership. ... their time you further complicate the situation. ... >>> recently regarding the source code. ...
    (microsoft.public.vstudio.development)
  • Re: How to read log files
    ... kernel log, messages, dmesg, and such? ... I have been googling but found ... there is always the source code *horror*. ... Understanding log files is - while not art - sometimes hard labor. ...
    (Debian-User)
  • Re: Defendant wins breathalyzer source code
    ... controlling the breathalyzer and the source code is what was used to ... The justification is they are aids to understanding. ... The other point is the defence would ask for them and if you argue, prevaricate or equivocate the defence and jury would "know" you had something to hide. ...
    (comp.arch.embedded)