I run a small SaaS business and our code is currently proprietary and hidden from view, as is the norm (the client-side code is minified). However, I would prefer to make it publicly accessible, for the following reasons:
* As a matter of principle, I like to err on the side of openness.
* We have great code, fully documented and with lots of unit tests, and I'm hoping that others could learn from it.
* It might help with recruitment, if we can talk publicly about our code and about interesting problems we are solving.
Support libraries could be licensed under a permissive license, such as MIT or Apache, while our core user-facing products could either be kept proprietary ("source available"), or be licensed under terms businesses tend to dislike -- the AGPL3 comes to mind. (If doing so could spur discussions about licensing our products under a different license, that would be a nice bonus.)
Are there any downsides to doing what I describe above?
* As a matter of principle, I like to err on the side of openness.
* We have great code, fully documented and with lots of unit tests, and I'm hoping that others could learn from it.
* It might help with recruitment, if we can talk publicly about our code and about interesting problems we are solving.
Support libraries could be licensed under a permissive license, such as MIT or Apache, while our core user-facing products could either be kept proprietary ("source available"), or be licensed under terms businesses tend to dislike -- the AGPL3 comes to mind. (If doing so could spur discussions about licensing our products under a different license, that would be a nice bonus.)
Are there any downsides to doing what I describe above?