From: SER Date: 2004-05-18T00:03:47+09:00 Subject: Re: Is Ruby the Language for Me? > * This is going to be commercial software, and I do NOT intend to give > away the source code. Is their a way that Ruby programs can be > securely compiled so that the source code is inaccessible? With a little bit of work, you can make it as inaccessible as any other programming language. You can decompile any executable, so the best you can do is to make getting the source as hard as possible. It would be fairly easy to write a framework that loads in encrypted Ruby, decompresses it to memory, and executes it; a side benefit would be that the users would need a "key" to execute the code. Hmm... that sounds like an interesting project... Something like Daniel Berger's crypt-fog (http://raa.ruby-lang.org/project/crypt-fog/) would be handy here. In any case, knowing how it works, the user could easily decompress the source and get to it directly, or share the key with others, etc., etc. So then the next step is obfuscation; I don't know if there's a Ruby obfuscator out there. Another project you might want to look at is wrapruby (http://raa.ruby-lang.org/project/wrapruby/). > * I will be using a shareware-validation protocol not unlike > http://www.shareit.com. Will Ruby be compatible with this? The Ruby license doesn't preclude you from selling your programs. In fact, the Ruby license doesn't impose any restrictions on the applications that you write in Ruby; it only restricts what you can do with Ruby itself. For example, if you distribute your application WITH the Ruby interpreter, you'll need to also provide the sources for Ruby to your clients -- but not the sources for your application, neccessarily. --- SER