>> "Theoretically, a modularized software project will be more easily >> assembled by large teams, since no team members are creating the whole >> system, or even need to know about the system as a whole. They can >> focus just on the assigned smaller task." >> >> http://en.wikipedia.org/wiki/Modular_programming >> >> I don't mind system administration but I don't want to be a programmer >> any more. I'd like to hire programmers to work in the manner >> described above. They would each work on modules and not know about >> the system as a whole. How can something like this be implemented? > > Okay, so this has nothing to do with obfuscation, not trusting people, > or protecting IP. This is normal software development. > > One would want to break a large application into manageable pieces. > Usually, those pieces would be libraries (where the meaning of > "library" depends on your programming language of choice: SOs, DLLs, > JARs, etcetera). If your application is monolithic right now then you > (and/or your developers) will have to spend some time modularizing it. > > So is your question really "how do I modularize my code"?
I'm most interested in the part about developers not knowing about the system as a whole. I'd like developers to work on my code, but prevent them from selling the code or using it themselves. I thought a good way to accomplish this might be to modularize heavily and change variable names. It sounds like I'm really going against the grain here. Is it standard practice to hire a developer on the internet from any given country, never meet him or her, have them fax a signed NDA, and turn over your biggest asset to them? - Grant