Also, open source software is not in the public domain and users must adhere to specific rules set forth in individual licenses that may force designers to reveal the source code to proprietary software. Even with these hurdles, open source operating systems are widely used in embedded design. Small footprint is function-handy. An added consideration when selecting an OS is the trade-off between the initial hardware footprint required and the ability to add features when updates become necessary. The OS must be scalable so that users can select just those embedded solutions or features of the software system that they need.