Microsoft has long been a proponent of the ideology of non-free software, an ideology through which the company has generated billions of dollars. Historically, the company was opposed to public, open source projects like Linux.
However, under the leadership of Satya Nadella, Microsoft is a very different society. Not only does it support open source and Linux, but it also brings code to the open source world.
In fact, Microsoft has become one of the major contributors. And well yesterday the Windows people announced which goes even further in its commitment to open source ideology. As when doing make your Windows Calculator program a project open source on GitHub.
In a blog post, Microsoft that:
Today, we are pleased to announce that we are releasing the Windows calculator code on GitHub under the MIT license. This includes the source code, build system, unit tests, and product roadmap.
Our goal is to create an even better user experience in partnership with the community. We encourage your new perspectives and increased participation to help define the future of the calculator.
As developers, if you want to know how the different parts of the Calculator work, easily integrate the calculator logic or user interface into your own applications, or contribute directly to something that is included with Windows, it is now possible.
The calculator will continue to go through all the usual testing, compliance, security, quality processes, and builds offered to internal users, as we do with our other apps.
Everyone can contribute
Microsoft encourages developers to contribute to the Windows calculator, now available in open source, via:
- Participate in discussions.
- Pointing out or solving problems.
- Offering new feature ideas.
- Realization of prototypes of new functionalities.
- Designing and participating in the construction of buildings with its engineers.
The Windows calculator currently ships with the following features:
- The standard mode of the calculator offers basic operations and evaluates orders as soon as they are entered.
- The scientific calculator offers extensive operations and evaluates commands according to the order of operations.
- Programmer calculator functionality that provides developers with common math operations, including conversion between common bases.
- Calculation history and memory capacities.
- Conversion between various units of measure.
- Currency conversion based on data pulled from Bing.
As with all changes, A member of the Microsoft team will review the code for the new features before archiving it to the main branch.
New features often require more technical editing than bug fixes. When scanning the code for new features, the Microsoft team considers at least the following:
All items on the accessibility checklist must be addressed.
All items on the global checklist must be processed.
The change must be tested on the oldest version of Windows supported by the application.
You can find this version number in AppxManifest.xml.
All API calls newer than this version must be conditionally enabled.
The change should use only supported APIs. If there are questions about the use of legacy or undocumented APIs, the Windows Application Certification Kit must be running for verification.
In addition to that, if the change adds new libraries or other dependencies to the application se you should measure the increased size of the binary files and if the library is not managed by Microsoft, the Microsoft team will need to define a plan to monitor the upstream library for changes, such as security patches.
If the library is used under an open source license, we must comply with the license and accredit third parties appropriately.
If you want to know more about it, you can visit the statement on the Microsoft blog. The link is this.