Hi Sean, In my experience, there really isn't a good way to separate chunks of code among developers, especially when they're working in a team environment (pair programming, etc.). Speaking from a decade of experience, it causes many more problems than it solves.
I understand you want to protect your intellectual property - that's cool. However, being TOO restrictive of it is going to make things much harder for your staff and really kill progress. Most developers I know wouldn't even take the job to begin with if encrypting part of the codebase during development, or splitting it up was part of the deal. Anyone who does is, in my opinion, probably not experienced enough to really know what's going on, and therefore, probably not experienced enough to really build something -right-. That said, here are two other options for you. You could possibly implement both: 1) Create a web service based architecture, having one developer be responsible for that, and a series of "client" applications that connect to the web service. This works great in environments where you have disparate technologies that need to communicate regardless of what language they're built in, or what servers they're on. It's a solid "technology agnostic" approach because all the other developers would need to do is interface over HTTP for each "request" to build their portions of the application. 2) Have your developers sign an NDA. Legally speaking, as long as your NDA is sound, IF they go off and try to steal your IP, you'll have the necessary proof of a bad faith effort and/or breach of contract that you'd need to win in court. Even though you may not be able to get a huge chunk 'o change from each individual up front if you win, you might be able to take in a portion of their earnings in the future. I'm not a lawyer, but I strongly recommend getting a GOOD one who knows IP law and has experience creating/administering solid NDA's and IP agreements, as well as a good track record for winning cases against real IP thieves. At the end of the day, you really can't feasibly expect a developer to build any application - Rails-based or otherwise - without access to the codebase. It just plain doesn't work. Good luck man! Hope things work out for you. On Feb 25, 5:47 am, "Sean W. Liu" <[email protected]> wrote: > Hi fellows, > > I'm starting a small company developing a SNS website and we are using > RoR. The concern we have right now is that we don't want each of our > developers get the entire Rails code base of our project. > > To my knowledge, there might be three pieces of ideas of potential > technical solutions for us. But since I don't really have any so > called industrial experience on web development, I'm looking forward > to some advices. > > 1. Encode/encrypt our Rails souce code somehow; > > 2. Distribute the minimum amount of code to an individual developer as > needed; > > 3.Construct some sepcial architecture for our SNS like Drupal that > people can develop "plug-in" or "module" for such system that one > developer only needs to know the corresponding APIs for working on his/ > her specific "plug-in"/"module". > > Or, is there any other better way? Or, what mechenism is actually > being used by big commercial companies using Rails like Twitter? > > Thanks in advance! > > Regards, > Sean -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

