Microsoft’s stance for decades was that community creation and sharing of communal code (later to be known as free and open source software) represented a direct attack on their business. Their battle with Linux stretches back many years. Back in 2001, former Microsoft CEO Steve Ballmer famously tarnished Linux “a cancer that attaches itself in an intellectual property sense to everything it touches”. Microsoft also initiated its “Get the Facts” marketing campaign from mid-2003, which specifically criticized Linux server usage, total cost of ownership, security, indemnification and reliability. The campaign was widely criticized for spreading misinformation.
However, in recent years, there has been a partial shift by Microsoft to embrace the open source software paradigm. For example, some of their code is open sourced. Examples include Visual Studio Code, .NET Framework, Atom, and PowerShell. They have also made investments in Linux development, server technology and organizations including the Linux Foundation and Open Source Initiative. They have made acquisitions such as Xamarin to help mobile app development, and GitHub a hugely popular code repository for open source developers. And they have partnered with Canonical, the developers of the popular Ubuntu distro. But many developers remain hugely sceptical about Microsoft and their apparent shift to embrace open source.
This series looks at the best free and open source alternatives to products and services offered by Microsoft.
Microsoft Visual Studio is an integrated development environment. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps.
Visual Studio is proprietary software and is not available for Linux. We recommend the best free and open source alternatives.
PyCharm is a cross-platform IDE that is primarily targeted for Python and web development. An open source version is available as PyCharm Community Edition, and a proprietary version as PyCharm Professional Edition.
Eclipse is an integrated development environment (IDE) used in computer programming.
Eclipse is written mostly in Java and its primary use is for developing Java applications, but it can also be used to develop applications in other programming languages via plug-ins,
The NetBeans IDE is an Integrated Development Environment for Java software developers.
It provides all the tools needed to create professional desktop, enterprise, web and mobile applications, in Java, C/C++ and Ruby.
For more open source IDEs, read this roundup.
All articles in this series:
|Alternatives to Microsoft's Products and Services|
|Bing offers search services, including web, video, image and map search products. It's developed using ASP.NET.|
|Dynamics 365 is a product line of enterprise resource planning and customer relationship management intelligent business applications.|
|Exchange Server is a mail server and calendaring server. Exchange uses a single building block architecture.|
|GitHub is a distributed version control and source code management functionality service. It includes non-Git elements.|
|Office is a family of client software, server software, and services. Microsoft has promoted Office 365 as the primary means of obtaining Office.|
|OneDrive is a file hosting service and synchronization service. Users can upload Microsoft Office documents to OneDrive.|
|OneNote is a note-taking program for free-form information gathering and collaboration. It gathers users’ notes, drawings, screen clippings, and audio commentaries.|
|Outlook is a personal information manager that's primarily an email client. It includes calendaring, task managing, contact managing, note-taking, journal logging, and web browsing.|
|Project lets you develop schedules, assign resources, track progress, manage budget, and more. It's part of the Microsoft Office enterprise project management product.|
|Publisher is a desktop publishing application with focus on page layout and design. Use text, photos and links to make professional publications personal.|
|Skype is software for VoIP-based videotelephony, videoconferencing and voice calls. The software also provides instant messaging, file transfer, debit-based calls to landline and mobile telephones (over traditional telephone networks), and more.|
|SwiftKey is a virtual keyboard app for Android. SwiftKey learns from previous typed text and outputs predictions based on currently inputted text and what it has learned.|
|To Do is a cloud-based task management application. It allows users to manage their tasks from a smartphone, tablet and computer.|
|Visio is a diagramming and vector graphics application. Database modeling in Visio revolves around a Database Model Diagram (DMD).|
|Visual Studio is an integrated development environment. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps.|
|Yammer is a social-networking platform for organizations. It’s a closed platform sometimes described as Facebook for businesses.|