This forum is now a read-only archive. All commenting, posting, registration services have been turned off. Those needing community support and/or wanting to ask questions should refer to the Tag/Forum map, and to http://spring.io/questions for a curated list of stackoverflow tags that Pivotal engineers, and the community, monitor.

Comment

I'm asking about when to provide an actual project as an Open Source project.

Other factors to consider:
- is it generic enough to be useful elsewhere?

- what is the reason for open-sourcing?
* more eyes for testing?
* more hands for development?
* more minds for problem solving/ideas?
* will anyone else be interested in those roles? what incentives will attract them?

- Do you want to retain control?
* have final say on what is committed?
* have final say on what ideas are included?
* have final say on release cycles?
* have final say on backwards compatibility etc. after first public release?

As to your original two points, does the project really have anything to do with sensitive data, or is the use on sensitive data just one way that the project could be used? (i.e. do you need to actually expose that data?)
As to competitive advantage, do you currently have something already in this space? Is it currently providing you with an advantage, or does the advantage come from data that it uses that wouldn't be released? If you currently have software how reliable is it? How hard (cost/time) would it be for a competitor to imitate?

Comment

Exposing the model should not be a concern from a security perspective.
The questions I'd ask would be is the model reusable? Is it likely that a competitor would come up with a similar model (or already have one)? Is the model 'clean' (i.e. is it just the model being exposed or does it have some additional functionality tied in that may be a risk to expose)?
If you came to the conclusion that the model couldn't be exposed then I'd ask, could you inject a model into the framework (i.e. open source the framework with interfacese for a generic model, and keep your specific implementation private)?