[pep8002] TypeScript

This commit is contained in:
Łukasz Langa 2018-09-14 16:47:23 -07:00
parent 05d7ee22e5
commit 5138fd0336
No known key found for this signature in database
GPG Key ID: B26995E310250568
1 changed files with 73 additions and 0 deletions

View File

@ -588,6 +588,76 @@ They retired (`Adrian's post
9 years into the project's history. Following the stepping down,
the DEP process was defined.
TypeScript
==========
The governance structure is not externally documented besides the
`CONTRIBUTING.md
<https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md>`_
document in the main TypeScript repository.
Key people and their functions
------------------------------
There is a formal design team and a release management team working at
Microsoft. The main person behind the project is currently Anders
Hejlsberg as some of the original members of the team have left the
company.
Regular decision process
------------------------
Microsoft, where the project is developed, has a strong planning culture
so development roadmaps are released long in advanced, notes from
design discussions held at Microsoft get published quickly and meetings
are sometimes broadcast using Skype.
External contributions are encouraged through pull requests on GitHub.
Suggestions for new use cases or features are given by issues on GitHub.
This serves like an ad-hoc PEP-like process. There is some discussion
over social media (Twitter) as well.
Controversial decision process
------------------------------
Hejlsberg is the central figure of the project in terms of language
design, sythesizing community needs into a cohesive whole. There is
no formal process to externally contribute to the design of the
language.
The TypeScript team filters through and integrates community
suggestions. The main advantages of this setup are that there is
strong and consistent design with dependable scheduling and
execution. While there is transparency of intentions and plans, the
disadvantage of this model is that community involvement is limited
to pull requests and suggestions.
Planning a new release
----------------------
Microsoft determines the release schedule, communicates dates and
features well in advance. Nightly builds are usually stable (with
a significant portion of users on this release form).
Versioned releases are done every 1 - 3 months, with a roadmap available
on GitHub.
Changes in the process over time
--------------------------------
TypeScript is likely the first notable project by Microsoft developed
fully in the open (versus source-available).
Open-sourcing of TypeScript by Microsoft was a planned feature from the
inception of the project. Before the first open release was made, the
language was driven fully by needs identified by the original teams and
the early in-house users. The initial open-sourcing happened via
the now-defunct Microsoft CodePlex platform. It didn't have
a well-defined routine of accepting external contributions. Community
engagement rose significantly after the project got moved.
Microsoft
=========
@ -750,6 +820,9 @@ for the Jupyter section.
Thank you to Carl Meyer from the Django team for explanation how their
project's governance is set up.
The TypeScript and Swift sections were created after conversations with
Joe Pamer and Vlad Matveev. Thanks!
Annex 1: Template questions
===========================