You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've received a question about .NET in the (unofficial) C# Discord Community, about the existence of "Fully FOSS IDE system for Linux". I would have totally said Visual Studio Code with the C# extension is an option, but they had concerns that the extension itself is licensed with Microsoft's Software License terms, that there are telemetries that cannot be opted out (The software may collect information about you and your use of the software, and send that to Microsoft... You may opt-out of many of these scenarios, but not all, as described in the product documentation.) and it appears that certain components, such as the debugger, is not open sourced at all.
Some other folks also noticed that the debugger isn't actually open sourced (dotnet/core#505 - has 174 thumb ups!, dotnet/core#4788), is not available publicly and it's impossible to legally use the debugger in programs other than Visual Studio, Visual Studio for Mac and Visual Studio Code (INSTALLATION AND USE RIGHTS. You may only use the .NET Core Debugger Components withVisual Studio Code, Visual Studio or Xamarin Studiosoftware to help you develop and test your applications.). This means that those who use other editors, such as Vim, Emacs or MonoDevelop do not have access to a proper debugger for that reason, and the lack of choice is certainly not a great thing.
I wouldn't be surprised if these are the only components that's not quite open sourced, or have certain restrictions. I believe that we should identify those components in .NET and try to eliminate those problems. This would greatly benefit both the .NET ecosystem and the users.
The first reason I believe so is, that, in my opinion, having to duplicate a component when there is already one, is a complete waste of work. I've been seeing that while Samsung's debugger is an option, it is not as good as the original .NET debugger and lacks certain features. It appears that the project isn't quite well known and they do not have enough contributors that work on the project. Had we open sourced those components earlier, then those works that have gone into the new alternative could have been put into improving the existing one that's already very good and is greatly polished. Open sourcing the existing component allows all of us to work on one unified product to make it even greater, and gives people time to work on other valuable things such as new features and bug fixes. It also will allow us, non-Microsoft employees, to dive deeper into the internals and, hopefully, contribute trivial or perhaps non-trivial feature / bug fixes, which, again, would allow more work to be done. I, for one, would love to contribute to the project!
Another reason is that, this change would encourage a certain group of people that believe in the open source software movement and the free software movement (I've been noticing that it's not hard to find those that believe in this idea amongst Linux users) to adopt .NET as a true open source, cross platform framework that's capable of everything. One major reason those group of people avoid .NET is because of the whole history of .NET being exclusively owned by Microsoft in the past, being "the evil mega tech corp"; Having less restrictions and getting rid of those perceptions is always a good thing and we should work towards to reduce those to get more of those people into our ecosystem.
I understand that this is not an easy task, and I completely understand that that folks at Microsoft may have valid reasons to not open source things / put restrictive terms on softwares (e.g. patents / trade secrets). Still, it would be great if we could recognise the importance of opening those projects up and working towards improving the current situation.
TL;DR
There exists some projects that aren't open sourced / have restrictive terms (e.g. .NET Core Debugger)
Certain people don't like it / it's a waste of time having to work on a duplicate project because of it
We should get rid of those restrictions to get more people into .NET and get more works done
The text was updated successfully, but these errors were encountered:
Gnbrkm41
changed the title
Consider open sourcing / reducing restrictions for more components used in .NET Ecosystem
Consider open sourcing / reducing restrictions for more components used in .NET Ecosystem to encourage more people to join us
Aug 5, 2020
Gnbrkm41
changed the title
Consider open sourcing / reducing restrictions for more components used in .NET Ecosystem to encourage more people to join us
Consider open sourcing / reducing restrictions for more components used in .NET ecosystem to encourage more people to join us
Aug 5, 2020
Hi @Gnbrkm41. I appreciate the enthusiasm here, but the outreach team is not the forum for this discussion. The debugger is a Microsoft property and you'd need to raise the issue with them.
@clairernovotny - Thanks for the reply, appreciate it 😃 Could you perhaps point me to any specific places / teams I could suggest this to? I failed to find any so this was my best attempt in hopes that someone from the foundation could perhaps direct my suggestion to folks at MS.
Background
I've received a question about .NET in the (unofficial) C# Discord Community, about the existence of "Fully FOSS IDE system for Linux". I would have totally said Visual Studio Code with the C# extension is an option, but they had concerns that the extension itself is licensed with Microsoft's Software License terms, that there are telemetries that cannot be opted out (
The software may collect information about you and your use of the software, and send that to Microsoft... You may opt-out of many of these scenarios, but not all, as described in the product documentation.
) and it appears that certain components, such as the debugger, is not open sourced at all.Some other folks also noticed that the debugger isn't actually open sourced (dotnet/core#505 - has 174 thumb ups!, dotnet/core#4788), is not available publicly and it's impossible to legally use the debugger in programs other than Visual Studio, Visual Studio for Mac and Visual Studio Code (INSTALLATION AND USE RIGHTS. You may only use the .NET Core Debugger Components with Visual Studio Code, Visual Studio or Xamarin Studio software to help you develop and test your applications.). This means that those who use other editors, such as Vim, Emacs or MonoDevelop do not have access to a proper debugger for that reason, and the lack of choice is certainly not a great thing.
There are multiple people that seem to be affected by this. Just looking at the list of issues referencing those two issues, there's dotdevelop/dotdevelop#19, mono/monodevelop#8286, OmniSharp/omnisharp-emacs#407, VSCodium/vscodium#82, https://github.com/0xd4d/dnSpy/issues/1012, OmniSharp/omnisharp-vim#96, dotnet/core#512, and I'm sure there's more that's affected by this particular issue. Even some the .NET Foundation corporate members, such as Samsung, JetBrains and Red Hat, had this issue; JetBrains had this issue with their IDE products, Samsung wrote their own debugger and Red Hat extended the Samsung's work to make a debugger plugin for Eclipse Theia IDE.
Suggestion
I wouldn't be surprised if these are the only components that's not quite open sourced, or have certain restrictions. I believe that we should identify those components in .NET and try to eliminate those problems. This would greatly benefit both the .NET ecosystem and the users.
The first reason I believe so is, that, in my opinion, having to duplicate a component when there is already one, is a complete waste of work. I've been seeing that while Samsung's debugger is an option, it is not as good as the original .NET debugger and lacks certain features. It appears that the project isn't quite well known and they do not have enough contributors that work on the project. Had we open sourced those components earlier, then those works that have gone into the new alternative could have been put into improving the existing one that's already very good and is greatly polished. Open sourcing the existing component allows all of us to work on one unified product to make it even greater, and gives people time to work on other valuable things such as new features and bug fixes. It also will allow us, non-Microsoft employees, to dive deeper into the internals and, hopefully, contribute trivial or perhaps non-trivial feature / bug fixes, which, again, would allow more work to be done. I, for one, would love to contribute to the project!
Another reason is that, this change would encourage a certain group of people that believe in the open source software movement and the free software movement (I've been noticing that it's not hard to find those that believe in this idea amongst Linux users) to adopt .NET as a true open source, cross platform framework that's capable of everything. One major reason those group of people avoid .NET is because of the whole history of .NET being exclusively owned by Microsoft in the past, being "the evil mega tech corp"; Having less restrictions and getting rid of those perceptions is always a good thing and we should work towards to reduce those to get more of those people into our ecosystem.
Achieving this would help us achieve what is outlined in the "Why create the .NET Foundation?" section of FAQ and the visions of the greater .NET brand as a whole.
I understand that this is not an easy task, and I completely understand that that folks at Microsoft may have valid reasons to not open source things / put restrictive terms on softwares (e.g. patents / trade secrets). Still, it would be great if we could recognise the importance of opening those projects up and working towards improving the current situation.
TL;DR
The text was updated successfully, but these errors were encountered: