The language team has decided to (again) move the language design process. Mads mentions this offhand in his recent blog post about the language direction.
C# language discussions will now happen on a mailing list and design notes will be posted in a new repo.
VB language discussions will also happen on a mailing list and design notes will be posted in a new repo.
As, to my knowledge, the community was not given any opportunity to voice input on this, I'm opening this issue so that those of us that have participated in language discussions are aware of the change and can provide any feedback on the process.
This has come up before. I kind of like things being in one place but the issues in this repo has become difficult to navigate.
The blog post isn't resolving for me at the moment. What exactly are the mailing lists for? Would proposals/comments go there vs. the Github repo?
What exactly are the mailing lists good for? Why couldn't we just use issues on those repos? I don't understand the philosophy behind mailing lists but just that it would drown the discussion in the darkness.
@HaloFour I believe that's the intention, yes.
I have a number of feelings about this, some of which I already shared on the blog post but will repeat here for completeness.
I've asked this before but I still don't have an answer- who is in charge of the language team? Is there even anyone at Microsoft that can answer this question? This team is literally run like a bunch of college kids working on a hobby project in their spare time. There is absolutely zero accountability for anything.
Mailing lists are an absolutely abysmal idea for language suggestions. That decision will single-handedly murder community participation in language design outside of arguing over the vetted design notes. New ideas will die in the oubliette, drowned out in the noise. I simply can't fathom such a decision.
I like the new repo. A ton. GitHub does not allow filtering notifications based on tags, so my options have been 1) miss out on design notes or 2) drink from a firehose.
I concur with the others from personal experience that mailing lists == pain and will exclude all but the most dedicated (for one reason or another).
@HaloFour Maybe that's the idea? @gafter and @CyrusNajmabadi are the only ones that seem interested in engaging with the community.
@jnm2 That's a great point but if you don't use generalized notifications at all (I do not), it makes it literally impossible to follow what's happening across the MS ecosystem when its split into tons of repos.
@MgSam I'm really not sure how organizing into separate repos makes it any harder to follow. This goes cross-repo, for example: https://github.com/issues?utf8=%E2%9C%93&q=label%3A%22Design+Notes%22+label%3ALanguage-C%23
I'd like to live in a world where people give things a try before coming to a conclusion on things :)
If mailing lists don't work well, we'll change. But we should not be unwilling to try new things to see if they can help us out. Many of our colleagues (both at MS and at other institutions) use mailing lists for design, and find them a attractive and valuable solution. We'd like to try it out ourselves.
--
It's worth noting, (to me at least), that a lot of language design used to happen through email. After all, that's what we had prior to trying out github-for-everything. We successfully shipped many versions of C# using this model. So i don't see any reason why, a-priori, an email system could not be an effective mechanism to tie into the design process.
I like how Rust did this, they take proposals as PRs which have to follow a template. PR comments are used to discuss the completeness of the proposal itself (often from core team members), and there is always a "tracking issue" for community to discuss the feature. There is a mailing list but I think that is used for core team discussions in public. EDIT: Nope, it's been shut down 2 years ago.
Not a fan of the mailing list, I agree with @HaloFour, using the repos for proposal in their respective language. So there if you're interested in a particular language and not the other, you can follow just that repo. If the feature is applicable to both, the proposal can be raised and link back to language repos.
@MgSam Where's Lucian Wischik (@ljw1004) he seemed to also engage the community.
_It's a shame that the implementations can not also be split out from the Roslyn repo. So it is focused on the common aspects._
@jnm2
It relies on them:
There have been cases where one or both of those things don't happen. Sometimes language decisions have been made in threads not tagged design notes.
@CyrusNajmabadi
I'd like to live in a world where people give things a try before coming to a conclusion on things :)
Mailing lists aren't new to any of us. We know how awful they are.
It's worth noting, (to me at least), that a lot of language design used to happen through email.
Not with the general public.
So, who exactly is responsible for diving through all of the open language feature requests here on Github and posting them into the mailing list?
@CyrusNajmabadi You can still reply to things on github via email.
Mailing lists aren't new to any of us. We know how awful they are.
That's your opinion. It is, clearly, not universally shared.
@CyrusNajmabadi Those successful releases were all before C# was open source, no? And the decision was made with zero community input. And I'd like to live in a world where decisions are discussed before they are made, not after.
I understand as a Microsoftie there is an instinctive desire to imitate everything Apple does, but maybe that's not always the best decision? :)
@CyrusNajmabadi You can still reply to things on github via email.
I have never seen that successfully work. Especially when you care about things like having a threaded conversation.
So, who exactly is responsible for diving through all of the open language feature requests here on Github and posting them into the mailing list?
Great question! Going to go get a crisp answer for that.
@CyrusNajmabadi Those successful releases were all before C# was open source, no?
Yes. But i don't see why being open source makes an email-list a non-viable system for communication.
@AdamSpeight2008 You're right Lucian does sometimes engage, and Matt Warren does as well.
Still, most of the team does not. Other members vary between complete indifference and outright hostility to the community.
@CyrusNajmabadi
Yes. But i don't see why being open source makes an email-list a non-viable system for communication.
For the reasons people have listed- none of which you actually responded to. :)
Great question! Going to go get a crisp answer for that.
I am extremely dubious that anything will be done, as when the move from CodePlex to Github happened there were also vague promises of migrating over the issues, none of which actually occurred. Even after all this time people are still reviving old issues that were orphaned in CodePlex.
For the reasons people have listed- none of which you actually responded to. :)
I responded by pointing out that we've had a very successful history using email as a communications medium. As such, the doom and gloom response to it aren't resonating with me. I acknowledge that we were successful with this system in an age when we weren't open source. But, as i mentioned already, i see nothing about being open-source that somehow makes email suddenly become non-viable.
Isn't that a little disingenuous? When it was closed source, the group of participants was Microsoft-only, far smaller, and you all saw/communicated every single day with each other as a matter of course, no? So going from that to a system where dozens of people, mostly strangers, from around the world are entirely reliant on an email list to communicate seems like a big difference.
@CyrusNajmabadi The Git and WiX mailing lists are finicky about plain vs html and have design flaws or actual bugs in the subscription and unsubscription processes. I shouldn't have to be subscribed to see stuff. I can't search it like I can with GitHub. Rather than using a smoothly designed mobile site, I'll have to work in my mobile email client and I'll have to continually work against the way the app was designed to work if for example you don't support HTML emails. I'll have to be careful with reply and reply all. I'll have to set up email filters and deal with space limits. I'll have to think about spam exclusions. So much headache and overhead.
I won't have Markdown or syntax-highlighted code blocks.
I won't be able to fix typos or make clarifications.
I won't be able to link to points in the conversation, including on other sites or in code comments.
I won't be able to +1 without sending everyone an email.
Google lists aren't as bad, but at the end of the day it feels like you're hacking email to fit a purpose which is better served by a more idiomatic medium. And you can't argue that this is not unfriendly to outsiders.
Or raise an issue with Github to implement a discussion section.
@MgSam: Who's in charge of the "language team"? That's part of the problem we are addressing with this move. The Roslyn repo represents too many different decision processes.
Here's what I wrote in my response on the blog:
As for the mailing list, can you just please give it a chance? Discussions have been overwhelming and hard to follow on GitHub, as they easily run to hundreds of unthreaded responses. Let's try this other thing, and if things really don't work out, we'll just look at it again. The process can (continue to) evolve.
@MadsTorgersen When you say "discussion" is that just the LDT Members or does that include the wider open community?
@HaloFour on moving issues over: Let's aim for a soft transition:
@AdamSpeight2008: By "discussion" I mean the whole community. For each language:
It is my hope and belief that this separation helps the many casual visitors make sense of what's going on, without having to sift through the details of the more involved day-to-day discussions of a smaller but more highly engaged part of the community. Everyone wins. (That's the plan anyway 😀)
For us working _on_ the language every day, it has been practically impossible to use the Roslyn repo as our primary planning and tracking tool. I really want to get to a point where that's possible; where the whole process can actually be done in the open.
@MadsTorgersen
If you want to continue a discussion that is already ongoing in a Roslyn issue, simply mail to the list and link the discussion.
And for proposals that don't necessarily need more discussion? Those that have been sitting in Backlog or Ready for the last year or so? Are they going to be ported to the new repo, or do we have to spam the mailing list with a ping to start the process all over again? Seems like a cheap move to completely wipe the slate. Why would anyone want to post a suggestion knowing that after every version release the Roslyn team just completely cleans house?
It is my hope and belief that this separation helps the many casual visitors make sense of what's going on
You could have done that here by better curating the proposals and keeping the Wiki updated. The Issues section is intended to be a constantly moving target. But at least it's an easily searchable moving target. And one where I can subscribe to specific topics rather than having to take the firehose and pour it at my email client.
I like the new repo a lot, hopefully language versions eventually get tagged/branched there so we can link to specific bits like "C#6 delegate-declarations" (where that link would go to a tag instead of to master). If this was adopted and encouraged it could result in better bug reports and a tighter integration compared to the listing of section number in issues today where users need to open the spec in word from their installation and find the section.
I dislike the mailing list idea, particularly because I cannot use my work email at home or my home email at work, in addition to the rest of the reasons listed by others above.
@MadsTorgersen Makes it less sludgy and more grey.
A big issue with a mailing list is spam, an scrapping of email addresses, every I've previous subscribe has been hit. Personally I prefer forums as they are designed to track discussions, some support markdown in the editor and even LateX. My that could be a better route to take. Yes it probably requires another registration and sign up. See (dreamincode.net)
Does Github some roles? Eg the ability delegate the ability to edit to wiki to specified contributors? or add tags?
What does the Projects
section do? Can it be utilised for our goal and purpose.
Edit: _Remove the yorkshire accented "are"_
From a nice list of taggable, searchable and formattable proposals ... to this.
It's literally a step 40 years into the past.
This is so embarrassing and infuriating that I am at a loss for words. I really just don't want to participate anymore.
We're trying out something new :) If it turns out to be better, and address several of the problems we've been having, without introducing significantly worse issues, we'll likely keep it. If it doesn't turn out to be better, we'll either roll back or try something else.
Either way we'll learn valuable information. And through learning we can constantly be improving things. :)
Codeplex also had a district discussion section, separate from Issues.
@HaloFour I agree. It's like the curmudgeonly stubborn old guard asses got their way this time.
We're trying out something new :)
No, you are trying something old. Mailing lists are horrible, horrible, horrible. This is an even worse decision than allowing scope leakage. 😢
Yeah when i saw what @HaloFour posted my eyes literally started to bleed... unless i closed link and then i was immediately relieved. So much pain for such a short time. 😢
Maybe this is good for internal talks from language team but im very doubious about it being good for wider community.
As for new, separate repo i generally like that; just that i think similar result could be achieved by reorganizing existing repo. But this idea is still much better than mailing so im fine with this.
No, you are trying something old.
I was just about to post that.
Old is an understatement. And to claim it's new (from a process perspective) is criminally dishonest. Mailing lists are a known quantity; they lack any of the useful features that make collaborative discussion possible.
I get it, the team doesn't want to deal with the proposals from the peanut gallery. They don't want it slopping up their repos and distracting from their championed proposals. They don't want to have to dig through and categorize the constant stream of a few language suggestions every week or so. Fine. How about this. How about I open a new Github repo and you endorse that as the location for language discussion? Then I and other community members can categorize the proposals and offer them to the official language community for consideration?
@HaloFour The email list is open for all. We welcome your participation there (as well as everyone else here and anyone else who wants to converse there). :)
Proposals will follow the process laid out at: https://github.com/dotnet/csharplang
We think that that process will actually be more conducive to effectively moving good ideas along the way to actually making it into the language.
Let's actually try this out to see how well this works. As mentioned already, we have had a very good track record ourselves with using mail as this sort of medium. And other peers we have in the industry have felt similarly. If it doesn't actually provide us with the benefits we hope to see, then we'll be happy to adjust accordingly.
But, one of the best ways to actually determine that is to actually try it out first hand. Certainly if things are as dire as some make it out to be, we'll see that immediately and can take commensurate action. But i'd much rather the actions be borne out of experience. Thanks! :)
Notice that no one has answered any of the objections I raised which deserve consideration when choosing a new platform. That indicates that community is no longer a real priority.
If they don't have reasonable answers for these things and for @HaloFour's points, it's not likely that expressing outrage will accomplish anything except make them more reluctant to listen. I know it was meant as a joke but @HaloFour's idea of a community-moderated repo sounds appealing.
@jnm2 You literally only posted that 2 hours ago :-D I'm sorry that i've been unable to address every single point brought up. I'm very focused on trying to ship the actual release of VS2017 and that's taking a ton of my attention.
@CyrusNajmabadi
You literally only posted that 2 hours ago :-D
After which you and Mads replied to everything except it, presenting the conclusion that you've moved past it.
@CyrusNajmabadi
We think that that process will actually be more conducive to effectively moving good ideas along the way to actually making it into the language.
Based on what? The notion that it's much easier to lose a thread in a mailing list than on a github repo? The only thing it's more conducive to is ignoring proposals.
@jnm2
I know it was meant as a joke but @HaloFour's idea of a community-moderated repo sounds appealing.
No, it was not meant as a joke. Moving to mailing lists, that's a joke. I am dead serious about a community-moderated repo.
After which you and Mads replied to everything except it
Threaded discussions would make this easier ;-)
Based on what?
As mentioned before, our experience with mailing lists. If that turns out to be wrong, and does not work well in our open-source system, then we're open to change. :)
--
At this point though, i've said my piece for the day. I would like to try things out and make an informed decision about it based on what we actually see. I think improving how we operate will be a continual process that we'll always be working on improving. Thanks!
@CyrusNajmabadi
So after C# 8.0 we'll migrate to yet another system and every idea posted there will be tossed into the trash? That's about the status quo.
@CyrusNajmabadi
Threaded discussions would make this easier ;-)
Not having threads is not what is causing you to avoid my questions at this point. ;-)
I honestly didn't see it. :)
At this point though, i'm not sure what you're looking for from me. I've given my thoughts on the matter and my hope that this helps us move to a better state than we're at today. I've also explained my willingness to continually be open to further changes in the future. At this point i'm not sure how i would add additional value to this discussion. If new stuff comes up that you think i'd be useful to weigh in on, let me know!
@CyrusNajmabadi
I honestly didn't see it. :)
Now that you have, I'm looking forward to some solid answers =D
I bet that there is forum software that offers threaded discussions without having to sacrifice a central search mechanism, formatting, categorization and targeted email notifications. Something that doesn't involve having to expose your email address directly to all of the participants (and spammers).
Here's the community repo, by the way: https://github.com/HaloFour/csharp-community
@CyrusNajmabadi
At this point though, i'm not sure what you're looking for from me. I've given my thoughts on the matter and my hope that this helps us move to a better state than we're at today. I've also explained my willingness to continually be open to further changes in the future. At this point i'm not sure how i would add additional value to this discussion. If new stuff comes up that you think i'd be useful to weigh in on, let me know!
Okay. So where you need to be, eventually, includes, in order of importance:
Is your solution going to arrive at all these things eventually? If so, I'm all for it.
If not, you're investing in something that will hurt all participants and be a barrier for the community.
@CyrusNajmabadi @MadsTorgersen I'm not doing this to be difficult. I sympathize with the load on your shoulders that is considering the community. I disapprove of those who enjoy bashing you and others. Please respect us enough to individually answer these points which I've listed which are reasonable objections.
I feel a mailing list is a closed media and has too high psychological barriers. If discussions were in a mailing list I would not participate in them.
Already the mailing list has:-
Issue
on git would be repointed to the CoreClr
repo. Hey all,
First of all I want to apologize that this shift happened without broader community discussion. I did not expect the amount of pushback on it, and frankly I pushed it through a little quickly, so that the Language Strategy blogpost, which I had all my attention focused on, could go out with the right links in it. I see now that I should have built in more time to vet those decisions with the community, and I apologize for that.
Now it looks like most of the opposition here centers around the choice of a mailing list as the medium for discussion. This was also the point of most disagreement on the language design team. We were all sick and tired with GitHub issues for this purpose, especially in light of the exceptionally high volume of discussion, because:
On the other hand, there are several drawbacks of mailing lists too - I don't even need to repeat them, as they are well laid out in the comments above.
Looking around, we had a hard time finding language communities _of our magnitude_ that discuss in GitHub. TypeScript does well, but is a smaller community and still requires a lot of hands-on management. Some use dedicated forum sites (with their own raft of complications), but most actually use mailing lists fairly successfully. A good example is Swift.
So while there are certainly drawbacks - real annoying agony - to either approach, there's good evidence that people get by just fine designing languages with high volume discussion on good old fashioned mailing lists.
Again, in retrospect I wish we had had this discussion before I pulled the trigger. The arguments against mailing lists were known to us when we made the call, and we still made it. Now I ask you to please come there, and participate in making it work.
Thanks!
Mads (signing off from Roslyn, and heading over to csharplang)
@MadsTorgersen
- Discussion gets mixed in with actual defects and work items (and yes, as separate repo would help with that)
So do tags. But yes, just simply using the csharplang repo for this purpose would've eliminated the vast majority of that noise. Language proposals make up, what, 5% of the total issues? And considering how many of those issues stand no chance of being championed you're probably talking about a grand total of 100-150 issues.
- New activity doesn't bring an issue "to the top" like a mailing list, and conversely, discussions that "fizzle" don't sink to the bottom. You can't easily see what is "currently going on"
Sort by recently updated.
- We have epic discussions! They run to hundreds of comments sometimes. Lack of threading, and lack of tracking of "where you got to" last time you were reading are super timewasters.
As opposed to trying to dig them out of your email client, mixed in with the noise of all of the epic conversations that you don't care about. Know how efficient that is on gmail? Quick hint: it ain't.
- The search/query language is too rudimentary to make up for any of this meaningfully
So let's dispose of the ability to do this entirely? What if you don't want to leave thousands of comment emails littering up your email client? Are those users supposed to troll back through the mailing list archives and expect to actually find anything? What about those users who join later?
- Issues get edited, rendering the conversation meaningless after the fact
You do have some point here, but is that actually that common? And if that is such a concern then all proposals should just go through a PR process as well so that every commit can be tracked and searched.
- It's too easy to leave "drive-by comments" without the display of commitment from having to sign up
Is it somehow less of a commitment to sign up to Github? What does that imply about the community that you've tried to foster on CodePlex or here on Github? We're not committed enough because we haven't put our email addresses out there for everyone to spam, or wasted the time to create new aliases just for this mailing list?
- Can't work offline (laughing? Ok fine, but I do that all the time)
No more than you can with a mailing list. Oh you mean that you want to track the conversations while offline? Then "watch" the repo and you'll get email notifications of all of the conversations. And you can even reply to each of those conversations and your response will be added to the issue. Force that through a plain-text email client and you can pretend that it's 1985 without forcing the rest of us to.
Not understanding how to use the tools is not an excuse for ditching them for significantly and measurably inferior tools.
I'm mostly going to repeat what others already said, but maybe adding one more voice is worthwhile:
I agree that separating language feature proposals from the Roslyn repo is a good idea, but moving them to a mailing list is a terrible way to do it. Some points:
Reading old posts on a mailing list is a really bad experience. The Pipermail UI which every mailing list (including the new C# and VB lists) seems to use is bad:
Every message is on a separate page, so reading through long discussions requires lots of clicking.
It does not support HTML emails, so I have to read just the plaintext version.
There isn't even a basic search, let alone search by tags, or sort by upvotes.
Why is it grouped by month? A single discussion can span many months.
Mailing lists have a very high barrier to entry when it comes to replying. If I'm reading a GitHub issue (or a forum topic), I can just reply right there. If I'm reading a thread in the archive of a mailing list I'm not currently subscribed to, I have no idea how to reply (is it even possible?).
There is no way to organize threads: no "closed", no tags, no easy links, nothing.
To respond to some of @MadsTorgersen's points:
New activity doesn't bring an issue "to the top" like a mailing list, and conversely, discussions that "fizzle" don't sink to the bottom. You can't easily see what is "currently going on"
The issue list on GitHub is by default indeed sorted by "newest", but it can be switched to "recently updated" mode, which behaves exactly this way.
And if you subscribe to a repo (which makes much more sense for a focused repo like dotnet/csharplang), email notifications also bring active issues to the top.
The search/query language is too rudimentary to make up for any of this meaningfully
But the mailing list archive does not have any search at all. That's not an improvement.
Issues get edited, rendering the conversation meaningless after the fact
That can be an issue, but it can also be an advantage. dotnet/corefx uses editing to make sure the current shape of the proposal is always in the top post, so it's easy to see what is actually currently proposed.
It's too easy to leave "drive-by comments" without the display of commitment from having to sign up
To me, that's a clear advantage. Especially since there is no way to subscribe to one or few threads in a mailing list. Engagement from the community is a good thing, not something you should actively try to make harder.
TLDR: mailing lists might make sense for a "core" group, but they are terrible if you want input from the wider community. Please, reconsider this choice.
@MadsTorgersen The sort
and filter
becomes part of the URL so you could use bookmarks.
eg Title Contains "Bug" in title - Latest
Recently we've been seen more animated gif of a bug/issue in action. Which helps a lot in some issues.
I'm really disappointed to see language design discussion fall off github. I've really enjoyed being able to easily view and follow different work going on and being able to easily discuss different ideas with the community. I feel like being locked into an email-only discussion is an iron prison being erected around the team.
I feel like being locked into an email-only discussion is an iron prison being erected around the team.
The email list is open for all. We welcome your participation there (as well as everyone else here and anyone else who wants to converse there). :)
TLDR: mailing lists might make sense for a "core" group, but they are terrible if you want input from the wider community.
Let's actually try things out. We can then reach an informed conclusion based on how well this approach did or did not work out. If it is good, then yaay. If it isn't good, then we can change our approach.
@jnm2 I can certainly see issues with email (Mads seems to have also acknowledged them). But there are also, unfortunately, issues with Github. For example, the lack of threading is actually a significant impediment, and it's definitely been felt as a pain point over how we used to be able to discuss large and complex features. Heck, even in this very discussion I want threading. That's because there's lots of different topics being discussed, and it's not fun having to try to juggle them all in one long linear conversation stream.
As such, i'm willing to take a hit in some areas, for gains in others. For example, i don't mind the lack of 'animated gifs' as @AdamSpeight2008 pointed out. I don't really see that as something really important to language design discussions. (Of course, they're great for something related to the IDE, and I'll continue to use them on github for the discussions there).
I won't be able to fix typos or make clarifications.
You can't fix an original message after the fact. But you can certainly follow up a message. This has never been an issue for us when using email as a medium. Occasionally someone makes a mistake. They then follow it up with a correction. It's not any friction, so i don't see any real take-back here.
Contrast that with times i've been annoyed with Github, because someone has gone and actually changed somethign i'm responding to, or has outright deleted the post. It's quite annoying, and can make things more confusing.
I've looked through your complaints, and then 100% reasonable and accurate. But that doesn't mean that they reach the level that I think there's a net negative here. My ideal would be for us to just try this out for a while. Even now, I'm discussing a few topics, and it's felt fine. Time will tell if we end up feeling like this was a step back or a step forward.
Quick question (I'm not trolling, and Google is not helpful for some reason here):
How do I actually reply to a specific post on the mailing lists?
How do I actually reply to a specific post on the mailing lists?
I'm just replying to the messages in my email client. I'm using Outlook, but i can see that several people are posting from Gmail. Things like rich-formatting seem to be working fine. For example:
@CyrusNajmabadi
For example, the lack of threading is actually a significant impediment, and it's definitely been felt as a pain point over how we used to be able to discuss large and complex features.
There are 22 total issues on this repo with more than 100 comments. 70 with more than 50 comments. Those are the outliers. Generally the discussions there are driven by outrage over obviously bad decisions made by the team (like this). Other times they are extraordinarily broad issues which could serve to be broken into much smaller pieces. Either way, they represent the outliers.
You can't fix an original message after the fact. But you can certainly follow up a message. This has never been an issue for us when using email as a medium.
Even just burning through the handful of emails since yesterday I have all of these extra garbage emails from people just tweaking their reply.
I'm just replying to the messages in my email client. I'm using Outlook, but i can see that several people are posting from Gmail.
Which does not work if you were not subscribed to the mailing list at the time that the message was sent. Unlike some slightly less archaic mailing list software mailman seems to lack a mechanism to retrieve older messages. You can't even get at the message ID in the archive if your email client would let you manually manipulate the outgoing mail headers to fake a reply.
Not that it really matters. Unless your reply (and frankly the entirety of the discussion) happen within a single calendar month that threaded view is lost anyway. My understanding is that mailman archive will show all emails in the month that they were sent, regardless of whether or not it's a reply. So the entire thread resets to zero. You're relying entirely on your email client for whatever threading capabilities it has. I know what gmail does it, rolls the whole thing up into one big ball. It doesn't matter that you replied to Tanner or Miguel, it just ends up in the same chain.
Threaded discussions indeed. This is about wiping the slate clean and chasing away would-be collaborators.
I agree that a mailing list is far from the best possible solution. There's no archive, no visibility of issues being discussed or discarded. There will be a constant churn of the same issues thrown into the list be newcomers. We get this here on GitHub as well, but people can actually search the issues before posting and replying to a duplicate issue is as easy as "Dupe of #99999". Perhaps the list is good for the MSFT team, since they are 100% in the loop of the design process and can discuss the proposals without leaving their Outlook, but it's not convenient for the wider community at all.
It's funny how in discourse FAQ it's explicitly described as a mailing list. I've read @MadsTorgersen and @CyrusNajmabadi concerns regarding GitHub issues, which have been addressed by discourse one by one and it's also open source. I doubt if it is even considered before moving to "mailman" thingy.
PS: It's also used by other language teams.
@alrz,
I'm not heard of discourse before, but from a quick look at your links, it looks ideal for what Mads and the team are after. Nice suggestion.
So .... just as an outsider having a creative mind and to much ideas for new language design features and improvements, I ....
_(Hope that it is one of the first two cases - I hate mailing lists and I receive enough mails on all of my email-accounts from my university -- disregarding all spam and stuff)_
@Unknown6656,
Not the news you'll want to hear: it's the third one. 😞
@Unknown6656: The process is here: https://github.com/dotnet/csharplang
@HaloFour raised an issue regarding alternatives to mailing lists https://github.com/dotnet/roslyn/issues/16916
I just read this entire thread in a couple of minutes just by scrolling down. This is not something that you can do with mailing lists.
If the only intention was to separate design discussions from bugs, that is excellent since I spent most of my time here reading the label Area-Language-Design.
@CyrusNajmabadi @MadsTorgersen Your mailing list software seriously just emailed back in plain text the password I typed when I signed up.
That means 1) you store my password which is evil and 2) lists.dot.net belongs at http://plaintextoffenders.com/ if this is not resolved ASAP.
https://blog.codinghorror.com/youre-probably-storing-passwords-incorrectly/
Accessible: https://youtu.be/8ZtInClXe1Q
I use 2FA with GitHub. I'm keeping an open mind but... wut.
@jnm2
It's from 1975. Encryption hadn't been invented yet.
Two new language proposals have been opened here in the last three hours. Zero new proposals have been opened on the mailing lists in the last three days.
I, too, vote for discourse.
@HaloFour: FWIW, the mailing list didn't open to the public until about 40 hours ago, so "three days" seems a bit unfair. 16 language proposals have been sent to the mailing list in the last 24 hours. I'm not sure if any are officially _new_ proposals (so few are these days), but the activity thus far seems very promising! I hope to see you there!
@DustinCampbell
You do see me there. I opened 11 of the 15 proposals (16 is a proposal to get off of mailing lists, which I also opened). Not a single one of those proposals is new. They're all copies with links back to here.
The activity there is sad, and what little activity there has been thus far won't be seen by anybody since you have to sign up to see activity at all and even then you only see new activity unless you feel like trawling through the ASCII mess that is the archives.
But the real icing? Mads telling me that one of my proposals might be "up for grabs". By whom? The nobody who got the email about it? Or the nobody who might be bored enough to read through the archives looking for random comments that might happen to contain the words "up for grabs"?
@DustinCampbell,
I might be adding 2 and 2 and getting 5 here, but I'm assuming that @HaloFour is the "Justin Spindler" who's posted 12 of those 16 proposals and none are new (save the one to abandon the mailing list).
Edit: oh, I see @HaloFour beat me to saying this! 😆
Heh. Good to know. I hadn't made the connection. :smile:
@HaloFour: I get your frustration, but it's going to take time before there'll be activity. I suspect that would be true for any tool that we used. Even if we used Discourse or issues in the csharplang repo, there would likely be low activity for awhile.
@DustinCampbell
Probably, but at least the tool would be conducive to the kind of collaborative discussion that we've been having here. Mailing lists are not, for the reasons I'm getting sick of pointing out. The fact that nobody at Microsoft seems to acknowledge that only deepens my opinion and concern that the team intentionally wanted to create a dark empty hole into which we could discard our suggestions.
Actually I'd subscribed to the list and after a couple of hours and a heart attack I unsubscribed as suggested by the mailman at the top of every email which is often longer than the actual comment, you could put some ad there to not waste the real estate btw. It's disappointing that you guys are not willing to even try the alternatives despite that could be a win-win for community and the core team. My impression is that it is just the exact point here, since the discussions were overwhelming, let's make the process so frustrating that no one actually wants to participate. Problem solved.
Regarding the Discourse alternative, there already is a .Net Discourse (or, more accurately, .Net Foundation one): http://forums.dotnetfoundation.org/. Maybe that one could be reused? Though it hasn't been very active.
I think Roslyn deserves an instance of its own. Mixing it with dotnetfoundation gives you something like uservoice, Anyways, I've gave up that idea already. From what I've heard from team members, I don't see that happening.
I always think the categories view makes more sense http://forums.dotnetfoundation.org/categories
I sadly agree with @alrz. This appears to be another case of a fait accompli announcement from the team. Whilst they took a little time to try and address our feedback with "give it a try" platitudes, I very much doubt they have any intention of acting on that feedback, when it disagrees with their decision. That is not their way.
Wait, how do I search the linked mailing list when I'm not subscribed from day one and haven't build an archive of emails in my email client? How do I find and respond to mails I never received? The linked site provides no services at all.
I see why it works for the developers (because they are always subscribed) but how is it supposed to work for those in the community which are only contributing from time to time like me?
I'm still waiting for the confirmation email on the mailing list. I signed up yesterday and still haven't received it. For good measure, I tried signing up again this morning... still nothing.
(Yes... I've checked spam... which I fully expect something of this nature to go to.)
I could understand a mailing list for Fortran or Algol but for C#?
@dsaf I would imagine their method of online collaboration is a "Proceedings of the ACM" subscription.
@weltkante
https://lists.dot.net/pipermail/csharplang/
Don't stare directly, though, or your eyes will start to bleed.
The search function is quite comprehensive. You open each month and then open each individual email and scan your eyes from side to side over all of that glorious ASCII. But again, don't stare directly. It's harder to search with bloody eyes.
If you see something in the archives and you want to reply to the existing discussion, you have two options:
@MadsTorgersen @CyrusNajmabadi
What are the benefits of the mailing list over github?
If you make a mailing list do you mind if I just like ask you guys what's up every so often because I'm not getting on a mailing list. It's not even like a question I'm never ever getting on a mailing list, along with anyone under 30. I'd prefer to be on a paper mailing list because then at least it'd be quaint. I could open handwritten letters from my favorite contributors, and see what's up in C#.
I went to sign up for the mailing list and give it a fair chance. I did not sign up because this was the first thing I saw:
Do not use a valuable password as it will occasionally be emailed back to you in cleartext.
@MadsTorgersen ^ was this deemed acceptable, or overlooked? It gave me enough pause that I wouldn't put my email or a password into their database.
I have to agree with others here. Please no mailing lists. I honestly had to check to see it was April yet......
Come on guys, its not 1993.
will occasionally be emailed back to you in cleartext.
And it's serious about it. It'll be emailed back to you immediately after you signed up.
Congrats, this issue now has 100 comments!
@bondsbw Too bad, it's not threaded.
Unsubscribed from both mailing lists.
Edited: Do you need a diff?
I really like GitHub, I don't think this needs to change but if you change why would you pick the worst option first? why not Discourse?
If you can't even get people who are serious about C# to sign up for mailing lists, what do you think is going to happen with the average programmer. They're gonna be in the dark. Nowhere to go nobody to talk to. Alone, forever.
I can understand the needs to balance the needs of the language design committee with the larger group. GitHub Issues has a lot of benefits for this, but it falls down for this type of discussion in many ways as clearly articulated by @MadsTorgersen and @CyrusNajmabadi.
FWIW, we've definitely heard similar feedback in the past from open source maintainers. Not every project has the scale of discussions this one does. I've passed on the feedback to my colleagues who work in this area. As always, I can't promise anything other than I'll continue to relay this feedback and be a thorn in their sides. :smile:
I have never seen that successfully work.
@CyrusNajmabadi we've made a lot of improvements in this area. Especially around more informative email headers so you can apply deeper filtering. Could you elaborate (feel free to hit me up offline at [email protected]) about what specifically doesn't work? Was it a failure in functionality, replying back doesn't work, or was it more it doesn't address the workflow problems you're facing?
I've begun participating since things have come to GitHub but if things are moving to a mailing list I will not participate. Mainly because I find them clunky, they fill up my inbox when I've tried them in the past (ex. Subversion project), it's hard to get context with all of the different email client quoting structures, no markdown support, no automatic linkification to issues, pull requests...
OPINION: I realize that mailing lists and IRC for example seem to be popular int the academic, systems development, and also in the UNIX/Linux world but I get the feeling that Windows and Mac users as well as others are put off by mailing lists and find them harder to search and to use.
Sorry, if you move to a mailing list you are going to miss my input and i will be less likely to follow progress of C# and I hope that is not the goal here. No language ecosystem is perfect but this will be just another reason to encourage me to begin looking toward other interesting languages.
F# is really cool and we use a separate repo for handling language suggestions and it works great. Feel free to make the jump jpierson. Nobody wants spam just to handle some specific issue they're having. These devs are out of touch.
Btw all, @hmemcpy's http://plaintextoffenders.com/tools lists an extension you can use so that a red bar at the top alerts you if you're on a website that is known to mishandle your password. That would have helped me because the top half of the text in @NickCraver's screenshot escaped my notice. :-(
The Stack Exchange model overcomes most of the issues Mads described:
Stack Exchange itself has an excellent support for formatting, searching, and code stuff in general. And it of course supports opening new communities.
So if not GitHub, why not Stack Exchange?
My experience with stack exchanges has left me bitter. I hardly use it now. It the gamification of stack* and its users trying to gain points.
Can we have quick POLL in twitter / github to figure out whether mailing list is worth over github?.
Please no mailing list !!!
@deepumi There is the other suggestion of Discourse
Discourse has a built-in poll feature, so.. .
@Haacked,
As many of the problems that the Roslyn team are having here affects other projects, I assume Github are aware of them and are working on them. Things like being able to grant people issue admin rights, rather than making them full members of a project with push rights, being able to assign issues to non-team members, being able to move issues between projects and having a separate discussion area, away from issues.
If Github are working on these, then this would be a big win for Github, the community here and the language team. I appreciate you can't say either way though until they are released.
It the gamification of stack* and its users try gain points.
It varies between communities. The math community for example doesn't exhibit that.
I'm not that a fond of SE either, but I'll take it over mailing lists any day.
@DavidArno
IMHO the most pressing issue for large Github repos is lack of an advanced search language. The existing search language has a lot of elements like -assignee
, -label
, etc ... Yet there is no way to structurally combine them using AND
, OR
and grouping operations. It basically renders management of issues on Github directly from a team perspective extremely difficult and it was one of the factors we considered when moving language design out to a new repo / using mailing lists.
it was one of the factors we considered when moving language design out to a new repo / using mailing lists.
To be fair, I think the desire for better search more influenced the latter (using mailing lists) rather than the former (new repo).
@YaakovDavis As someone who is very active on Stack Exchange, I think that model is not suitable for language design proposals. SE is very strongly tuned for one specific thing: asking questions and getting answers. That model does not fit well with a discussion about a language feature, especially not one that can get to over 100 posts. SE actively discourages discussion (which is why comments are limited in length and formatting). And there is a reason why one of the founders of SE created created Discourse, instead of trying to use SE for discussions.
As someone who would be biased for the Stack Exchange platform (I help build it and keep it online) - I'd vehemently argue against it for this. It's simply not Q&A. Everything we built is for Q&A. Discourse I agree would be a much better fit in my experience of all 4: GitHub, Discourse, Stack Overflow, and mailing lists. That discussion is happening here: #16916
My initial thoughts on mailing lists are already echoed above by so many. They're far harder to consume, search, contribute to, link to, navigate online, etc. Rich content? Yeah if you get a rich editor with rich copy into a rich client to send. Copying to/from VS isn't easy. Simple tasks are much harder. Linking to them is harder. Discussing them is harder. Finding if they've been discussed is harder. In short: they are worse for any outsiders and anyone wanting to keep up with the project.
As a quick example: what does this pull request go with? Where's the discussion? Any links there will no longer be friendly to use (or automatically linked). They will turn from an un-threaded (I agree, that's lacking) scroll into dozens or hundreds of clicks and page views (far worse).
But still, I'd be willing to give it a go. Again. (I'm currently on many lists - I don't say this from an uninformed view) But I have very low hopes of this working with a large community that desires to be open. Mailing lists appear open but function in so many closed ways. They are unwelcoming. The security issues I listed above make it so I won't be participating or following along anymore. I sincerely hope the stance on this ill-advised and under-discussed move changes.
To be fair, I think the desire for better search more influenced the latter (using mailing lists) rather than the former (new repo).
Agree. The new repo helped with the issues around searching but it wasn't a huge motivating factor.
@weltkante
https://lists.dot.net/pipermail/csharplang/
Don't stare directly, though, or your eyes will start to bleed.
Looks like flat design to me... I guess we can slap a green background and change the font with userstyles.org and call it modern?
On a more serious note, Discourse seems well suited for this...
Edit: edit.
@jaredpar ,
Good point. I knew I'd missed something off that list, and naturally it was the most important one! 😊
@jaredpar Github does support AND
OR
NOT
(just upto 5 of them)
It's like if you guys don't want to hear from the community maybe be honest and upfront about it instead of crippling it.
The design team already created two repos for VB.NET and C# why can't discussions go there? and then send PRs for accepted proposals? why do we need to get out of GitHub at all? I mean the community was formed here!
It seems like this will break the community and to be frank I like what we have here! it would be such a shame to change it maybe you are too used to mailing lists and maybe it makes things easier for you but this wouldn't work for many people in the C# community.
I check the repo everyday, I learnt many things here, I'm still learning, I have a lot of respect to many people here, I love the community, I trust the design team but I really start to hate your _sneaky peaky_ out of the blue decisions!
Now, I fully realize and I've said it before, this isn't democracy but this isn't the point either, sometimes it may makes sense to get the community involved especially when the community needs to be taken into account, we want to take part in the development of the language but sometimes I have the impression like things happen in the last moment and the community is left in the dark! with no choice but to accept the decisions.
It's great to tell people that you are developing in the open and that you are fully open and I think that I can say this in the name of the community, we fully support you @MadsTorgersen and the design team but you need to understand that _trust_ can be declined.
We're having this discussion about the process right now but only because a community member made an issue about it, it wasn't coming from the design team and I'm really _disappointed_ that you didn't discuss it with us and instead the blog post came first, some people here are really passionate about the language even though we're not part of the design team.
Just my thoughts about it! ❤️
If money is the issue, note that Discourse offers 50% off or even free plans for projects that are open source! ;-)
In all seriousness though, taken straight from their FAQ, emphasis mine:
Discourse is the 100% open source discussion platform built for the next decade of the Internet. It works as:
- a mailing list
- a discussion forum
- a long-form chat room
At any rate, the bottom line of this comment is as follows. I'm chipping in here as a very casual participant in discussions around language design, someone in _read only_ mode. If there's a GitHub issue or a Discourse or a similar system with lots of modern helpful features (e.g. great formatting and unfurled links to issues) I _will_ interact (read only, so you don't _see_ me). If you move this type of discussion to a mailing list for sure you'll loose 90% of the read-only participants.
Everyone, _please don't assume malice_ when there are other perfectly serviceable explanations. The team had pain and did what they felt they had to do. Like they said, they misjudged the impact on the community.
Why didn't they talk to anyone about this before jumping the gun? Why is a blog post telling us what's already happened the first any of us are hearing about this? I mean the whole thing is surprisingly inconsiderate if it's not malicious.
(edit: I'm upset but I wasn't meaning to imply that it's ACTUALLY malicious, it's just how it feels)
@jnm2 I can relate but it doesn't make a lot of sense to me that something that clearly would have an impact on the community hasn't been brought to discussion!
@eyalsk I like what you had to say.
@eyalsk @voronoipotato It is surprisingly inconsiderate. I believe it is because the team is very socially awkward in terms of open source and doesn't have a good intuition when predicting the results of the choices they make. They aren't used to having to think about it. They don't realize how bumpy their driving is for the community. They don't realize that they unintentionally caused a ton of people to _feel_ intentionally disregarded. Let's be understanding of one another. It's hard. I wouldn't have the experience either.
@jnm2 I mean I'm all for going back to old ways if they can just talk to people before jumping to a decision. They clearly need some kind of person whose role it is to manage community interaction, because this is going to damage forward momentum for C# contribution with some mild convenience for the creators.
It was nice to check GitHub every morning to catch up on language discussions. It was really cool to see development happening out in the open like that. It's too bad that can no longer be a part of my morning routine. Not a huge loss to anyone, obviously, but it makes C# a much less exciting language to follow.
I'm not anywhere near as active as folks like @NickCraver and @benaadams, but I saw this pop up on Twitter and I had to chime in.
I come here about once a week to get a general outlay of what issues are being pressed or worked on. A mailing list is literally the least user friendly and community embracing technology that could have been picked. There are a ton of threaded bulletin board systems, some of which are amazingly good, of which Discourse is one. I would urge the team to walk this decision back. There's just no way I'm signing up for an email list.
@jaredpar I shared your feedback with the search team. Thanks!
As many of the problems that the Roslyn team are having here affects other projects, I assume Github are aware of them and are working on them.
@DavidArno Yes, we are aware of them, but the additional feedback (and emailing [email protected] with specific suggestions) is always welcome. It helps us understand more scenarios, the degree of pain, and angles we hadn't considered.
As to the specifics of this discussion, I don't participate much in the language design discussions, but I've enjoyed following along and reading them from time to time. The original post in the issue mentioned having design notes posted in another repository. I'd love to still see issues (or a PR) opened when a discussion is started with a simple link to where the discussion is happening rather than only posting the notes at the very end. So even if the discussion isn't happening here, I can follow along by watching the right repository.
Hey all,
First of all, for those that joined late or didn't read through the whole thing, let me repeat that I am really sorry for pulling this without warning. I was rushing it for the purpose of putting the right links in a blog post that we knew was going to be read far and wide, and that was a big mistake. There's plenty of constructive feedback above, and I wish we had had that discussion before I made the move. Sorry again!
Secondly, thanks for your passion and investment in the community! The reaction against the mailing lists is overwhelming. I've been having a good time over there myself, but I do see some of the downsides that people have been pointing out, and many of which we (the design team) were sort of resigned to going in, as a tradeoff from GitHub's downsides. Some of the issues raised are with the particular mailing list management tool, some with using mailing lists in general. We will definitely take another look at this in light of the discussion above, and the suggestions in #16916.
To the perceptions of malice, I am really sorry if it comes across as us trying to get away from community contributions. The purpose of the whole move was actually the direct opposite, that we were looking for a way to give discussion its own space, where it is easy to follow and participate. Clearly, a lot of you feel that we missed the mark on that.
If you have experience - positive or negative - with options, I'd very much appreciate if you could share them over in #16916. We'll use that to help us rethink this.
Thanks again!
Mads
Sorry to throw up such a stink about it, I was just scared for the direction of this and other related langs that I use and love. Thanks so much for your contributions, and responding.
Hey @Haacked ! Thanks for reaching out. I've emailed you an example of the types of problems we're running into. Thanks!
@MadsTorgersen
Thank you for the consideration. I'd have to think that such a tool exists that would make everyone happy, even if your preference is to work entirely out of your email client.
I have to ask, what email client are you using? I'm using both gmail's web interface as well as Outlook 2016 with gmail via IMAP.
@MadsTorgersen The main issue I see is that you are going to lose valuable contributors, because they will not store their email / password in a system that stores it in cleartext, as @NickCraver said previously.
Wow, when you compare the issues between 3 'large' dotnet repos you can see the problem!
Roslyn has more issues, but more significantly, it has more issues with a large amount of comments!
List to the search result for 'Most commented issues' (open & closed)
I guess language design is more subjective and/or controversial!!
No wonder the people who are looking at the issues as part of their day job want/need another system!
@mattwar
Most of the most commented issues represent epics; long-lived, multifaceted and constantly evolving. It's no surprise that many of them became unwieldy. I don't think it matters what system you use if you try to manage your work items in such a manner it would become a problem. If the mailing list had even a fraction of the users as we have here I could probably trigger a similar cascade of useless* replies by bringing up something general and wide-reaching. Something that can track issues in a hierarchy to allow for breaking down a proposal into individually designable and actionable parts might help there.
* "Useless" is the wrong word here. "Difficult to follow" and "continually obsolete" probably better captures my intention. Sorry, four month sleep regression and I'm barely functioning on coffee fumes.
Just one thing, you tagged the wrong Matt Warren, unfortunately I'm not the one on the Roslyn team 😃
@mattwarren, @mattwar: You guys should totally duel.
Well I'd settle for a chance to say hello, a duel seems a bit extreme!!
@DustinCampbell I still remember the time you gave me commit rights to the entire OmniSharp org, good job I was honest and let you know!!
We'll take your PRs anytime. :smile;
I think it's worth reflecting on a few specific details.
We all - in this community - understand that you have a language to design, language services and compilers to implement, testing, quality assurance, localization, deadlines, all this. Really: we understand. We are happy to leave you to it, and we do not want to be in the way of this.
When you go out and say that C# is now open source, and Roslyn is open source, and .NET Core and ASP.NET Core and that this is a new era of transparency and that cross-platform inclusiveness is a priority and removing barriers everywhere is a priority, people who have been wanting to participate for a long time will be wanting to participate, to do what they can. They are chomping at the bits to contribute.
Just now, the saga of dragging ASP.NET Core to all-the-way-through-cooked is finally closing, with the new MSBuild version of the tooling. ASP.NET Core went from item to item of confusion, back-tracking and befuddlement because of surprises. It's not so much that people are being mad about the cheese being moved, it's that we see it as being moved behind our back while we are putatively being consulted as experts in Cheese Location Fitness Optimization and Cheese Site Selection.
Microsoft is a big company. A lot of you are working there together every day. You develop a shared culture, you can look each other in the eyes and send messages on a higher bandwidth. You can have meetings and hash things out. The community is still an outer layer on this onion. If C# being run with the community was what it was about, the idea would have been naturally: Publish that post, by all means. But end it by saying: "We are reconsidering the use of GitHub Issues for language feature design, discussion and coordination and are asking the community to help us select the solution that will work best." Invite us into the conversation. You have a community. It is a strength. See it as a strength. Make use of it. Make use of us. Trust us. See us as on the same team.
Microsoft used email before NT was even a glimmer in Cutler's eye. It's not a surprise that Microsoft employees using a Microsoft email client tuned for the Microsoft way of doing things inside a Microsoft organization thriving on it will see email as a good thing. These are not accusations of brainwashing, just observations of emergent behavior. Not everyone will have the same email client (threading works ridiculously differently in different clients), be used to work being conducted in email, have an email address that is effectively usable for this purpose and so on. Maybe email will be the best (or "least worst") solution in the end... but don't by omission disregard us.
We understand deadlines and pressure and shipping, and we would never stand in the way of doing those things. But if you say you want a community, along with that decision comes nurturing the relationship with it. Not just Microsoft asking us to trust you, also the community asking you to trust us. When that process stumbles, or when it looks like we're being kept out of the loop on something deliberately, or that decisions are made over our heads about things that affect us, this is the reaction you get, every time. Open source done well, having a community done well is massively, largely, overwhelmingly upside. It is a bit more work, but it's so much more productivity and collaboration and fun. If community isn't this, please take a step back and ask yourselves why.
I should end by noting that I notice that you are trying. These things don't happen for lack of effort, just because it is incredibly hard for any organization to make this change. Microsoft has a strong culture and a large number of people. I mention ASP.NET Core because I've been seeing similar things happening there too for the past few years. I can't speak for everyone, but I personally appreciate everything that is being done as part of this enormous change. I have deep respect for so many people in this thread and it has surely been a big change on the everyday life of a developer at Microsoft. No one is expecting perfection and immediate harmonization. What I hope everyone participating has, no matter who they work for, is the ability to listen.
Maybe a change to something else was unavoidable. But let us be part of the investigation. Saying "we have to stop feature work on C# 6 now or we can't ship it" can be traced to a business goal and a deadline. This can't. This is about how we communicate, and "this was debated" is not an argument unless it includes all of us. It affects us. Let us debate it too. Let our voices be heard and our opinions considered. If, after all that, you end up choosing typing every post in EBCDIC-encoded XML over Finger, I'm sure that as long as we can see the same things you saw in favor of that decision, we will all have an easier time adjusting and accepting it.
I feel that those Issue / PR with large amounts of replies / comments are valuable collective resource. We (Roslyn) then get views from different angles and perspectives. we are not all elite programmers. That is really important to not to forget that, and let see the world from the different vantage point. Personally I see it from the point of a learner / amateur to the language, so can sometime spot things that could trip them up. Hence what _(I perceive the from the experts as minor annoyance)_ when I ask for explanations and definitions. I don't have an educational qualification in the field of Computer Science or its related fields, eg a Degree or Doctorate. Being honest with you, I just barely got through my secondary education qualifications.
For anyone who has expressed an opinion here, you may wish to know that a poll has been created to allow the community (and the language team, of course) to vote on our preferences for a C# language discussion forum. Details at #16971.
@MgSam,
Could you add a link to your OP, please?
What the heck is “mailing list”? Is it something from FIDO epoch, or kind of? C'mon, it's 21st century out here.
@terrajobst .NET Core is Open Source
Our choice of using GitHub
As a principle, we don’t want to ask the community to _come to where we are_. Instead, we want to go _where the community already is_. Based on feedback that many other projects have received it seems the majority of the .NET community is on GitHub.
The C# and VB design teams have a recommendation for where and how to conduct language design discussion: #17054. Please comment there by Friday Feb 10!
Thanks,
Mads
@MgSam You _might_ want to close the post now that they already decided to stay on GitHub.
We are now taking language feature discussion in other repositories:
Features that are under active design or development, or which are "championed" by someone on the language design team, have already been moved either as issues or as checked-in design documents. For example, the proposal in this repo "Proposal: Partial interface implementation a.k.a. Traits" (issue 16139 and a few other issues that request the same thing) are now tracked by the language team at issue 52 in https://github.com/dotnet/csharplang/issues, and there is a draft spec at https://github.com/dotnet/csharplang/blob/master/proposals/default-interface-methods.md and further discussion at issue 288 in https://github.com/dotnet/csharplang/issues. Prototyping of the compiler portion of language features is still tracked here; see, for example, https://github.com/dotnet/roslyn/tree/features/DefaultInterfaceImplementation and issue 17952.
In order to facilitate that transition, we have started closing language design discussions from the roslyn repo with a note briefly explaining why. When we are aware of an existing discussion for the feature already in the new repo, we are adding a link to that. But we're not adding new issues to the new repos for existing discussions in this repo that the language design team does not currently envision taking on. Our intent is to eventually close the language design issues in the Roslyn repo and encourage discussion in one of the new repos instead.
Our intent is not to shut down discussion on language design - you can still continue discussion on the closed issues if you want - but rather we would like to encourage people to move discussion to where we are more likely to be paying attention (the new repo), or to abandon discussions that are no longer of interest to you.
If you happen to notice that one of the closed issues has a relevant issue in the new repo, and we have not added a link to the new issue, we would appreciate you providing a link from the old to the new discussion. That way people who are still interested in the discussion can start paying attention to the new issue.
Also, we'd welcome any ideas you might have on how we could better manage the transition. Comments and discussion about closing and/or moving issues should be directed to https://github.com/dotnet/roslyn/issues/18002. Comments and discussion about this issue can take place here or on an issue in the relevant repo.
Most helpful comment
Hey all,
First of all, for those that joined late or didn't read through the whole thing, let me repeat that I am really sorry for pulling this without warning. I was rushing it for the purpose of putting the right links in a blog post that we knew was going to be read far and wide, and that was a big mistake. There's plenty of constructive feedback above, and I wish we had had that discussion before I made the move. Sorry again!
Secondly, thanks for your passion and investment in the community! The reaction against the mailing lists is overwhelming. I've been having a good time over there myself, but I do see some of the downsides that people have been pointing out, and many of which we (the design team) were sort of resigned to going in, as a tradeoff from GitHub's downsides. Some of the issues raised are with the particular mailing list management tool, some with using mailing lists in general. We will definitely take another look at this in light of the discussion above, and the suggestions in #16916.
To the perceptions of malice, I am really sorry if it comes across as us trying to get away from community contributions. The purpose of the whole move was actually the direct opposite, that we were looking for a way to give discussion its own space, where it is easy to follow and participate. Clearly, a lot of you feel that we missed the mark on that.
If you have experience - positive or negative - with options, I'd very much appreciate if you could share them over in #16916. We'll use that to help us rethink this.
Thanks again!
Mads