0

I have developed an application and now I would like to hire some programmers to work on several pieces of it to upgrade and tweak it.

I have read other questions/answers here but they are mainly about obfuscating the code which is something I do not want to do (as I need them to read it and tweak it).

What I'm basically asking is, what is the best way to structure my code so I will have to expose only what I have to?

A good example for me is a webapp called RightNow which I'm developing for at work, what they do is they let you play around with all the widgets (you can create/edit/remove any widget) but the core of the application is in folders I do not have permissions to.

After you do your coding on the widgets, you then 'deploy' the application and it goes live. I have no idea what the deployment actually does behind the scenes, but this is one practice (not sure if it's the best) which allows the application owner to have control over the core of the code but still allow development for it.

Is there a better way? what do you think?

Or Weinberger
  • 7,332
  • 23
  • 71
  • 116
  • 3
    What sort of scenario are you hoping to prevent? Your programmers stealing your code? Or just accidentally breaking it? – Oliver Charlesworth Feb 14 '11 at 09:35
  • @Oli Charlesworth - Stealing, not too worried about breaking it. – Or Weinberger Feb 14 '11 at 09:37
  • Have you considered paying more money and hiring programmers you can trust? – Matt Gibson Feb 14 '11 at 09:42
  • 2
    How about letting them sign an NDA? – Gordon Feb 14 '11 at 09:43
  • @Matt Gibson, @Gordon - I need to hire freelance programmers, I don't know any other programmers. NDA is not something I have considered, although I wanted to know if there is any way to structure the code to prevent them from seeing the parts of it which I do not want them to see.. – Or Weinberger Feb 14 '11 at 09:45
  • I've never used but is it possible to partly encode only a few files with ionEncoder? – Ben Feb 14 '11 at 09:56
  • Protected question to prevent more "obfuscation" suggestions. – Gordon Feb 14 '11 at 09:58
  • @Gordon: "Questions should be protected when they are garnering lots of views and newbies are adding "me too!", "thanks!" and possibly even spam non-answers." -- I'm not seeing any of that here. – balpha Feb 14 '11 at 10:16
  • @balpha duly noted (and unprotected). Though it would be helpful to see an example where it would be appropriate. I've never seen a question that actually fits the description. – Gordon Feb 14 '11 at 10:35
  • @Gordon: [Here's a good example](http://stackoverflow.com/questions/1026483/is-there-a-way-to-crack-the-password-on-an-excel-vba-project); look at all the deleted "answers". Also see this [meta question](http://meta.stackexchange.com/questions/78762/for-15k-users-guidelines-on-protecting-questions). – balpha Feb 14 '11 at 10:39
  • @balpha thanks. so basically we protect when people use SO like a forum. Jeff's blog post is quite helpful to illustrate the point. – Gordon Feb 14 '11 at 10:44

2 Answers2

1

First you can use a version control software like SVN for example. and then you can have copies of the code, one for testing and one for the your programmer. When the programmer is done changes and tweaks, the testing code gets updated first and when the test are done the live application gets updated.

Atef
  • 73
  • 4
0

you can obfuscate your core classes(ones that you don't want to expose). and other developers can include and use them at the same project as long as you provide a nice api to your classes.