Development / Technology / Tools

This Week in Programming: Go’s New Code of Conduct Arrives with a High Profile Ban

18 Sep 2021 6:00am, by

The Go programming language community got an update to its code of conduct (CoC) this week, which seems to have coincided with the permanent ban of Peter Bourgon, a prominent and prolific Go contributor and community member, from all Golang community spaces.

Go first adopted a code of conduct in 2015, which even then was far from a universally accepted thing, and later updated that CoC in 2018, to include behavior outside of explicitly Go-related spaces, but it would seem that neither would suffice. This week’s update, writes the Go team, serves to update on two fronts: on the enforcement of the CoC, and on “the Gopher Values themselves.”

On that first point regarding enforcement, the team notes that they “want everyone to feel welcome here” and that “the one group of people we can’t welcome are those who make others feel unwelcome,” with specific channels or Go spaces empowered to enforce bans without waiting for conduct reports when this happens. They go on to lay out a number of circumstances when community-wide bans, such as the one apparently handed down to Bourgon, may be implemented, and which they say are rare.

On the second point, the update to “Gopher Values,” the Go team adds to the standard stuff of CoCs (“Be friendly and welcoming” and “Be respectful”) the idea of being “responsible,” which they further describe as “What you say and do matters. Take responsibility for your words and actions, including their consequences, whether intended or otherwise.

“A recurring theme we have seen in reports of minor problems is people not accepting that their words and actions affect others. In extreme cases, people say things like ‘but this is the internet.’ We aspire to be far more welcoming than the internet overall,” they write.

Nowhere in the update does the situation involving Bourgon get mentioned, although this idea of saying “but this is the internet” seems like a direct allusion to the conduct report, submitted by Netflix SRE Tim Heckman, regarding a recent interaction with Bourgon on the Go Slack channel.

For those of you not members of the Go Slack channel, the entire interaction has also been preserved on Imgur for your perusal, and, as you can see, Bourgon responds when asked to stop, “this is the internet.” Now, there are folks aplenty in some comment threads on /r/Golang, as well as in Bourgon’s Twitter mentions, arguing that Bourgon has done little more than some light trolling, and certainly nothing permaban worthy. Bourgon himself argues he did nothing wrong, which seems to be again directly alluded to with the idea of “be responsible” now added to the Go CoC.

This week’s update again seems to speak to this situation, without directly addressing it, when the Go team writes that “examples of the kind of misconduct that could merit community-wide expulsion include” harassment and infractions that “may seem insignificant in isolation, but repeated over time they create a pattern of behavior that doesn’t match our Gopher Values and that adds up to substantial harm.” It is this repeated offense that Heckman complains of in his conduct report and that, at least to an outside observer, might have led to the situation at hand.

In one particularly either self-unaware or sarcastic comment on Reddit, one commenter writes that Bourgon’s comments “felt like talk that was totally acceptable on a Perl IRC” while another replies “If I had to come up with the most minimal CoC ‘Don’t act how some people did on IRC 15 years ago’ would be a decent contender.”

Indeed, Perl’s own recent struggles with CoCs and the like seem like simply yet another bellwether on the way of online communities and their tolerance for toxicity.

This Week in Programming

  • Visual Studio Preview 4: First up this week, Visual Studio 2022 Preview 4 is now out and focuses on “the themes of personal and team productivity, modern development, and constant innovation.” Among those, the team says that Preview 4 brings performance improvements to things like searching large solutions and C++ IntelliSense, all of which will get their own blog post soon. This latest preview also shows off improved debugging features that make it easier to do things like select processes by using a window picker, load symbols for libraries outside your project, and new features like dependent breakpoints, for configuring additional breakpoints after another breakpoint is first hit. Preview 4 also fixes some issues regarding the Blazor and Razor editors that were reported in Preview 3, while adding new capabilities for hot reload in ASP.NET Core — including hot reload on file save and applying changes to CSS files live. Preview 4 also adds some new features around personalization, such as color-coded tabs, and the team says it will be “teaming up with community theme authors to convert some Visual Studio Code themes to work in Visual Studio, adding more flexibility in the Visual Studio family of products,” such as the “Winter is Coming” theme now available in the Marketplace. For full details, check out the blog post, the release notes, and the video below.
  • .NET 6 Gets A First Release Candidate: Also out this week in the world of Microsoft, .NET 6 Release Candidate 1 has been released as “the first of two ‘go live’ release candidate releases that are supported in production,” and will bring with it “quality improvements that resolve functional or performance issues in new features or regressions in existing ones.” As for that “in production” part, the .NET team says that they are “at that fun part of the cycle” where they are “genuinely” encouraging that users use this release candidate in production, and they are ready to help “two or three dozen early adopters” with the process. This latest release candidate is supported with the Visual Studio 2022 Preview 4 and comes with a number of new tools, with support for .NET 6 RC1 coming soon in Visual Studio 2022 for Mac Preview 1.
  • Oracle Releases JDK 17 Under “Free Java License”: Oracle released the Java Development Kit (JDK) 17 this week under the “Oracle No-Fee Terms and Conditions” (NFTC) license, which it says permits free use for all users, even commercial and production use, with redistribution permitted as long as it is free. “Developers and organizations can now easily download, use, share and redistribute the Oracle JDK without needing a click-through,” they write in a blog post introducing the new license. Licensing aside, the latest JDK from Oracle is released as a long-term support (LTS) release, with the next LTS scheduled for Java 21 in September 2023, changing the release cadence for LTS releases from three to two years. The new version includes 14 new features, which are detailed on the release page.
  • A Hiring Process IDE? I’m sure that, upon reading those words, your first thought might be something along the lines of “What fresh hell is this?” As if the developer interview process isn’t notorious already, SD Times has an article this week about CodeSignal’s new IDE for the hiring process, which it says is designed to test candidates’ technical skills with real-world assessments. “According to CodeSignal, the new IDE works as a flight simulation of the coding environment. This allows for employers to fully assess a candidate’s skillset while also providing said candidate the opportunity to showcase their abilities and prove why they are the right person for the job,” they write. So, that’s something you can look forward to while you’re looking for your next job.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.