Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

[NC-1540] First Draft of OSS Roles & Std OSS Documenation #29

Merged
merged 8 commits into from
Oct 11, 2018
Merged

[NC-1540] First Draft of OSS Roles & Std OSS Documenation #29

merged 8 commits into from
Oct 11, 2018

Conversation

ekellstrand
Copy link
Contributor

I expect there will be some good debate over the contents. I think major discussions should be taken offline and logged as separate tickets to solve and update.

FYI: There are some TODO's left before we ship. I will create tickets for anything that is still outstanding when the PR is merged.

@smatthewenglish
Copy link
Contributor

when I was commiting to goethe and bitcoind I always had a kind of "champion", someone with write access who I discussed the proposed change with first, and they validated that it was something sensible, personally I think it would be a good thing to make that process, which I guess is pretty common to open source projects, to make it explicit, so that you have some kind of checkbox for a benefactor. what do you guys think of that?

* [ ] Put an X between the brackets on this line if you have done all of the following:
* Reproduced the issue in the latest version of the software
* Followed all steps in the debugging wiki: https://github.com/PegasysEng/pantheon/wiki/debugging
* Verified the issue doesn't already exist: https://github.com/search?q=+is%3Aissue+repo%3AConsenSys/Pantheon
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link points to the old repos, should be https://github.com/search?q=+is%3Aissue+repo%3APegaSysEng/Pantheon

CONTRIBUTING.md Outdated
#### Before Submitting An Enhancement Suggestion

* **Check the [Debugging Wiki].** You might be able to find the cause of the problem and fix things yourself.
* **Perform a [cursory search of project issues](https://github.com/search?q=+is%3Aissue+repo%3AConsenSys/Pantheon)** to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONTRIBUTING.md Show resolved Hide resolved
CONTRIBUTING.md Outdated

The test cases are sufficient enough to provide confidence in the code’s robustness, while avoiding redundant tests.
Please open an issue on `ConsenSys/Pantheon` if you have suggestions for new labels.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be PegaSysEng/pantheon

CONTRIBUTING.md Outdated

The code is free from glaring typos (*e.g. misspelled comments*), thinkos, or formatting issues (*e.g. incorrect indentation*).
[search-label-enhancement]: https://github.com/search?q=is%3Aopen+is%3Aissue+repo%3AConsenSys%2FPantheon+label%3Aenhancement
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here for all links, should be PegaSysEng instead of ConsenSys

GOVERNANCE.md Show resolved Hide resolved
README.md Show resolved Hide resolved
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need this? Seems like something we should enforce in CI if we want this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly. Same response as below in the PR template. I'm inclined to leave warnings line in (for now) because I think a recent change no longer fails on warning. eg, I get a warning on builds locally that doesn't fail it.


```

## Prerequisites:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we need this in every PR. Might make more sense as part of contributing.md.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's boiler plate. And I suspect we'll want to make changes to this. I'd like to log separate issues to address content changes like this. We can discuss the merits of the change in the issue. It will also be useful to land this and see what it actually looks like.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI: It does seem pretty common on other projects. It's obviously aimed at a big external community, and making sure everyone understands the rules, whether they grok the CONTRIBUTING.md or not.

Copy link
Contributor

@shemnon shemnon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get a markdown formatter run against this? There are at least three different column length models I see (80, 100, and none) and that makes it harder to read.


Members are continuously active contributors in the community. They can have
issues and PRs assigned to them.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we add a "defined by" section and have it be that they are a member of a particular github group?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's one way. file contents are another common way. Wiki page, etc. We won't solve it in this PR. I'm going to add issues for all of the outstanding TODOs that are placeholders.

- Approval of new users to the Approver role, and access to Circle reports.

## Open Source Circle
The Open Source Circle is a group provides open source software support to projects.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is a group that provides


```
ALL: All levels including custom levels.
DEBUG: Designates fine-grained informational events that are most useful to debug an application.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be in order of less to more: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL.

@ekellstrand
Copy link
Contributor Author

ekellstrand commented Oct 11, 2018

@shemnon Added NC-1695 for Markdown formatting with Spotless
NC-1630 Roadmap doc
NC-1632 Architecture Doc
NC-1697 Fill in objectives.md
NC-1698 Fill in design-principles.md
NC-1696 community.md role membership definition & doc TODOs
NC-1699 Fill in download badge links once artifacts exist on bintray
NC-1700 Fill in documentation style guide in CONTRIBUTING.md
NC-1633 Talk to Legal to implement a CLA process

fixed some typos and organization suggestions from code review
Copy link
Contributor

@shemnon shemnon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LTGM given that all my other concerns are pushed into other JIRAs.


* [ ] Put an X between the brackets on this line if you have done all of the following:
* Reproduced the issue in the latest version of the software
* Followed all steps in the debugging wiki: https://github.com/PegasysEng/pantheon/wiki/debugging
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't exist yet and I'm not sure it's covered by an exisiting Jira ticket? Should it belong with the other contributing docs in the /docs folder rather than the Wiki? Does this content exist anywhere yet?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created an empty wiki page for debugging, so the link does work - it's just not useful yet. NC-1703 is created to address the content and/or move it.

* [Suggesting Enhancements](#suggesting-enhancements)
* [Your First Code Contribution](#your-first-code-contribution)
* [Pull Requests](#pull-requests)
* [Code Reviews]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this link somewhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes. I'll fix that in follow-up PR

* :shirt: `:shirt:` when removing lint warnings

## Documentation Style Guide
**TODO: Create Documentation Style Guide**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have one of these - if you assign the Jira ticket to the Doc team, we can move it over from GDrive to GitHub.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NC-1700 covers this.

Copy link
Contributor

@MadelineMurray MadelineMurray left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See specific comments.

@ekellstrand ekellstrand merged commit 23fa4ca into PegaSysEng:master Oct 11, 2018
@ekellstrand ekellstrand deleted the NC-1540 branch October 11, 2018 22:05
@@ -1,4 +1,9 @@
# Pantheon Ethereum Client · [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
# Pantheon Ethereum Client
[![Build Status](http://forge-jenkins.kellstrand.com:8080/job/Pantheon/job/master/badge/icon)](http://forge-jenkins.kellstrand.com:8080/job/Pantheon/job/master/)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a new link for the build status badge

@@ -19,104 +24,17 @@ User and reference documentation available on the Wiki includes:

## Pantheon Developers

## Build Instructions
* [Contribution Guidelines](CONTRIBUTING.md)
* [Wiki](wiki/) for installation & configuring Pantheon
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

installation & configuration

reviewers. The primary reviewer will make this decision and nominate a second
reviewer, if needed. Except for trivial changes, PRs should not be committed
until relevant parties (e.g. owners of the subsystem affected by the PR) have
had a reasonable chance to look at PR in their local business hours.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the PR


Except for rare cases, such as trivial changes (e.g. typos, comments) or
emergencies (e.g. broken builds), approvers should not merge their own
changes without another approver providing the code review.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we even allow merging without approving?

| -----| ---------------- | ---------- |
| Everyone | none | anybody with a belly button
| Member | everyone who contributes - code or otherwise | Pantheon GitHub org member
| Approver | approve accepting contributions | write permissions on master
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/accepting/accepted ?

@@ -0,0 +1,40 @@
<!--
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although a BDFL is "self appointed", they are also someone who has been bequeathed that power by the community. Think of Monty Python and the Holy Grail: "Supreme Executive power derives from a mandate from the masses." So yeah, for example, Linus is BDFL for Linux because he appointed himself as such, but also because the community is OK with him being so. This is a subtle be important point. If someone just self-appoints and the community is not OK w/ it, the project will fail.

@@ -0,0 +1,40 @@
<!--
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the workflow section likely needs more meat. As an example, look at https://kafka.apache.org/contributing , which breaks out code and doc contributions. Also, note that there exists https://cwiki.apache.org/confluence/display/KAFKA/Contributing+Code+Changes which goes into more detail about the actual workflow (we should not just copy/paste this... IMO, the Kafka guidelines are too wordy and too onerous for people to follow... something more streamlined is best)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants