Key reasons:
1. Data ownership – apart from being able to export your data (you should have the right to export your data) but can you use that exported data in any other place, and do you have the right to decide how your data can be exchanged with any other 3rd party platform or application (or are you locked into using it within the primary application only?).
2. Working for yourself (and your Community) or for the company – who gains from improvements you suggest or submit code for? Everyone or just a private company selling their software? Will you have to pay for future version upgrades… forever?
3. The right NOT to upgrade – are you forced into changes that break the work flow that you are used to? Can you opt to say no, I want o carry on with exactly what I have? Can you go back say 10 years from today and re-install software you used back then, or is it just no longer available?
4. Do you have independence of open collaboration and sharing with others (or must they purchase first in order to share and collaborate with you – certainly not something any government or non-profit would want).
See Open source vs. proprietary: What’s the difference?
There’s a lot to be learned from open source projects. After all, managing hundreds of disparate, asynchronous commits and bugs doesn’t happen by accident. Someone or something has to coordinate releases, and keep all the code and project roadmaps organized. It’s a lot like life. You have lots of tasks demanding your attention, and you have to tend to each in turn. To ensure everything gets done before its deadline, you try to stay organized and focused.