Major system changes to a Open Source CMS
This depends on what type of Open Source CMS you have chosen. Your can read more about this in the article “How to choose an Open Source CMS”.
If you are using a community driven Open Source CMS you can suggest the changes and hope they will be done in future versions. Alternatively you can develope the changes yourself as a “hack”. If your "hack" catches the attention of the community, these changes can be implement as a part of the project and will be supported across version updated in the future.
If use a commercial Open Source CMS you will alwayshave the possibility to pay the vendor to implement the functionality you need. The costs are very likely to be the same as having the functionality developed by a proprietary CMS vendor that do not support your demands.