HomePhabricator
Standards Board Programming Committee: Summary
11 Jan 2018

The Standards Board Programming Committee had its initial meeting for 2018 Q1. Below is a summary of every proposal, and the current status of each.

Pay attention to these fields: these are mandatory actions that will affect you.

Proposal: Adding QTM Volatility Measure

Status: Approved

Date of Adoption: Immediate

We will be adding a new measure to the QTM standard: Volatility. This measure is based off of this article on dev.to, and will help project managers identify problems with review and code quality processes.

The Volatility field has already been added to Maniphest, and should be included on every bug report.

Further details about Volatility will be added to the QTM documentation in the coming weeks.

It is now mandatory that bugs include a Volatility rating.

Proposal: Adoption of Clang 5.0

Status: Approved

Date of Adoption: Wed, 17 January 2018

We are updating to the latest version of the LLVM Clang compiler. Instructions will be updated on or before the adoption date.

All developers will be expected to update their compilers as soon as possible after the date of adoption.

Proposal: Adoption of C++17

Status: Postponed

After careful consideration, we have decided to delay official adoption of the the new C++17 standard until libc++ fully supports it.

Developers are still encouraged to experiment with the new standard, which is possible simply by using the --std=c++17 flag on Clang 5 (or later) or GCC 7 (or later)

Proposal: Mandatory Adoption of libc++

Status: Rejected

Because of difficulties in installing LLVM libc++ on Linux systems, use of this standard library will continue to be optional.

Developers may choose to install and use it if they wish, and the standards will include the recommended version and a link to instructions. However, we will not be requiring libc++.

Proposal: Mandatory Ubuntu 18.04 LTS Upgrade

Status: Approved

Date of Adoption: Mon, 14 May 2018

The new LTS [Long-Term Support] version of Ubuntu is set to release in late April 2018. In May (the week after most school's finals week), we will be initiating a mandatory upgrade for all Programming [Dept] staff. This will help minimize overall work disruptions.

More information about this upcoming release can be found on itsfoss.com. Additional details about the upgrade will be coming closer to the date of adoption.

Hawksnest will not be upgraded. However, the Jenkins build environment will be recreated to use 18.04.

The week of 14 May, the entire programming department will be upgrading their systems to Ubuntu 18.04 LTS. This upgrade is mandatory. Be prepared in advance: back up your computer, have a list of your software, and schedule a day that week to perform the upgrade.

Proposal: Kivy Version Lock

Status: Approved

Date of Adoption: Immediate

To minimize future packaging issues with Kivy on Debian, we will be locking which version of the Kivy GUI library we use. This will allow us to rely on Debian packages, instead of PIP packages, for Kivy and Cython.

We will offically be using whatever version of Kivy is released in Ubuntu 18.04 LTS. We expect this to be Kivy 1.10.0, so we are tentatively version-locking to that until we have additional information.

We will be version-locking to Kivy 1.10.0 until further notice.

Proposal: IDE Recommendation

Status: Pending

Date of Vote: 23 Feb 2018

While we will continue indefinitely with our policy of NOT mandating which IDE any developer uses, we do offer an official IDE recommendation for newly-onboarded developers.

After considering several candidates, including the currently-recommended IDE Code::Blocks, we have decided to test the new Visual Studio Code (not to be confused with Visual Studio). The standards board will be testing this IDE for the next several weeks, and will be voting on whether to officially recommend this IDE.

Visual Studio Code is open source (MIT licensed source code), and runs on all major operating systems. More information can be found on the product website. The version from Microsoft has an additional EULA which appears to be acceptable (although you may want to disable telemetry reporting.)

If this proposal passes, we will almost certainly be compiling and building our own branded fork of Visual Studio Code, thereby dodging any further licensing or data sharing concerns.

Conclusion

Current Committee Board: @jcmcdonald, @jgthomas, @bdvolwiler, @smramirez

The aforementioned individuals are considered the sole present members of the Standards Board Programming Committee. For the sake of simplicity, no further member may join this committee until April 2018 (Q2).

However, anyone may submit comments for consideration by emailing developers@mousepawmedia.com. We welcome feedback, and will consider the comments in our final decisions.

Written by jcmcdonald on Jan 11 2018, 8:05 PM.
CEO, Lead Developer

Event Timeline