In the last weeks and months, I am seeing a lot of confusion and doubts in the forums and with the clients of my company about which Visual Studio edition can be used, which are the functionalities and what differentiates the Community edition from the Professional edition.
If we go back many years ago:
- Visual Studio .NET 2002 / 2003 was initially a paid product in all their editions.
- In Visual Studio 2005, Microsoft released the “Standard” and “Professional” editions, introducing also the “Express” edition, which was a limited free edition intended for neophytes, hobbyists, newbies and the like. The Visual Studio 2005 Express edition had flavors: Visual Basic 2005 Express Edition, Visual C++ 2005 Express Edition, Visual C# Express Edition, Visual J# Express Edition and Visual Web Dev Express Edition.
- Visual Studio 2008, 2010 and 2012 followed suit offering flavored Express editions, which legally could be used within companies, but were severely limited for a professional use. For example, they didn’t allow extensions (add-ins, packages, etc.).
- Visual Studio 2013 also offered flavored Express editions, but it introduced a new “Community” edition, which was intended for professional use and removed many limitations of the Express editions. For example, it allowed extensions.
- Visual Studio 2015 also offered the Community edition while preserving the Express 2015 for Windows Desktop, Express 2015 for Web and Express 2015 for Windows 10.
- Visual Studio 2017, at the time of this writing, doesn’t offer Express editions, only the Community edition.
So, if you want to use Visual Studio 2017, your only choices are the Enterprise edition, the Professional edition and the Community edition. And the most common question is: which are the differences between the Professional and the Community edition? Likely you may have also read that the Community edition is almost identical to the Professional edition, so, why to pay for the Professional edition?
There are two aspects that you need to consider: the legal aspect and the technical aspect.
From the legal point of view, Visual Studio 2017 Community edition is free (it requires registration with a Microsoft account, though) but the license doesn’t allow you to use it in all scenarios. The legal document for your lawyer is here:
Microsoft Visual Studio 2017 Community Edition License Terms
which in short specifies this:
- If you are an individual (you don’t belong to an organization), you can use the Community edition to develop and test applications, even applications that you sell.
- If you belong to an organization, then there are two cases: your organization is a “non-enterprise” organization, or it is an “enterprise” organization.
An “enterprise” is any organization and its affiliates who collectively have either:
(a) more than 250 PCs or users
(b) one million U.S. dollars (or the equivalent in other currencies) in annual revenues
“Affiliates” means those entities that control (via majority ownership), are controlled by, or are under common control with an organization.
- If your organization qualifies as “non-enterprise” organization, then up to 5 developers can use the Community edition. The 6th developer would have to pay for a Professional edition.
- If your organization qualifies as an “enterprise” organization, then:
- Any number of users can use Community edition to develop and test applications in the following scenarios: classroom training and education, academic research, Visual Studio extensions projects or open source projects.
- No user at all can use the Community edition if it is not for classroom training and education, academic research, Visual Studio extensions projects or open source projects. This is an important difference with the Express editions, which, for example, allowed a single system administrator in a large organization to use legally the Express edition to create scripts. In this scenario, she cannot use legally the Community edition, even if she would be the only user of Visual Studio within the enterprise organization.
From the technical point of view, the resource to be read by you or your team lead is the following:
Compare Visual Studio 2017 IDEs
If you compare row by row the columns “Visual Studio Community” and “Visual Studio Professional” you will find only two differences:
- “Enterprise” is a supported usage scenario for the “Professional” edition, but not for the “Community” edition.
- The Professional edition supports “CodeLens”, while the “Community” edition doesn’t. If this feature is important for you, either pay for the Professional edition or vote the CodeLens for Community Edition suggestion on UserVoice. There are also reports that installing SQL Server Data Tools (SSDT) brings CodeLens to the Community edition, at least for Visual Studio 2015.