Visual Studio Team Services or VSTS has launched the concept of Public Projects to help with Open Source code hosting. A Public Project is just like any other project in the VSTS. However, it allows non members of a project and users who aren’t signed in to the project, read-only, limited access to the project’s artifacts and services. This allows anonymous users to be able to view the contents of that project in a read-only state enabling collaboration with anonymous (un-authenticated) users that wasn’t possible before.
Public projects can be added to an existing organization or VSTS account or any existing project can also be made public by changing project’s visibility settings.
If you are managing an Open Source Software (OSS) project, then you can use VSTS public projects to automatically build and validate every pull request and commit to your repository. Not only this, you can also share the build logs. This will allow you to determine in advance, if any of the pull requests are safe or not and also allows users to check the logs and quickly fix if any issues.
Public projects are an entirely opt-in experience in which account administrators have full control over who can enable this functionality. The default for existing VSTS accounts will be private; the account administrator will need to first enable Public Project support for the account and then specially set an individual project to be public.
Convert an existing project to Public Project
First we need to allow anyonymous access on the organization level. Go to Your VSTS account and from gear icon, select Admin Settings:
Now go to the policies section, select anonymous authentication to On:
Now, we can create either a new public project or mark existing project as public.
Creating a new Public Project
For this, create a new project from Create Project option:
Fill the information asked and select visibility as public:
Mark existing project as Public
For this, open Project Settings and go to overview tab in the general section. Edit visibility settings and select public:
Now, review the information provided and click change:
After this, you can share your project url with the anonymous users. Not only this, you can also invite users to join your project. They would also be able t download / upload source code, view work items and submit pull requests. These pull request can be build and completed in VSTS hosted agents as well for no charge. In fact it is recommended to use VSTS hosted agents instead of private agents as they are destroyed after each build.