* 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?