This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 2377fda NO JIRA - Added a page on the Apache Maturity Model - Added a
team page - Added some documentation on how to contribute - Added the page on
"Decision Making" to the menu
2377fda is described below
commit 2377fda513666dfa2c98e797f2526f87ac848b7b
Author: Christofer Dutz <[email protected]>
AuthorDate: Tue Mar 19 16:50:22 2019 +0100
NO JIRA
- Added a page on the Apache Maturity Model
- Added a team page
- Added some documentation on how to contribute
- Added the page on "Decision Making" to the menu
---
src/site/asciidoc/developers/contributing.adoc | 97 +++++++++++++++++++++
src/site/asciidoc/developers/maturity.adoc | 76 ++++++++++++++++
src/site/asciidoc/developers/team.adoc | 35 ++++++++
.../contributing-github-create-pull-request.png | Bin 0 -> 112177 bytes
.../resources/images/contributing-github-fork.png | Bin 0 -> 96553 bytes
src/site/resources/images/team/cdutz.png | Bin 0 -> 27791 bytes
src/site/site.xml | 6 +-
7 files changed, 212 insertions(+), 2 deletions(-)
diff --git a/src/site/asciidoc/developers/contributing.adoc
b/src/site/asciidoc/developers/contributing.adoc
index d224b4a..6952f0a 100644
--- a/src/site/asciidoc/developers/contributing.adoc
+++ b/src/site/asciidoc/developers/contributing.adoc
@@ -18,6 +18,103 @@
== Contributing
+=== Forms of contribution
+
+There are multiple forms in which you can become involved with the PLC4X
project.
+
+These usually are, but are not limited to:
+
+- Submitting Pull Requests
+- Filing Bug-Reports
+- Active communication on our mailing lists
+- Promoting the project (articles, blog posts, talks at conferences)
+- Documentation
+
+=== Pull-Requests
+
+The simplest way to submit code changes, is via a GitHub pull-request.
+
+In order to do this first create a GitHub account and sign into you account.
+
+After that's done, please to to our
https://github.com/apache/incubator-plc4x[GitHub site] and create a so-called
`Fork`.
+
+image::contributing-github-fork.png[]
+
+What happens now, is that GitHub creates a full copy of the PLC4X repo in your
account. Only you can commit to this.
+
+Now ideally you check-out your cloned repository:
+
+ git clone https://github.com/{your-user-id}/incubator-plc4x.git
+
+Now you have a copy of PLC4X on your computer and you can change whatever you
want and as it's your copy, you can even commit these changes without any
danger of breaking things.
+
+As soon as you're finished with your changes and want us to have a look, it's
time to create a so-called `Pull-Request`.
+
+You do that by going to your forked repository page on GitHub.
+
+Every forked repository has an additional button called "New Pull Request":
+
+image::contributing-github-create-pull-request.png[]
+
+If you click on this, we will receive a notification on your changes and can
review them. We also can discuss your changes and have you perfect your pull
request before we accept and merge it into PLC4X.
+
+==== Keeping your fork up to date
+
+As we are continuously working on PLC4X and you created a copy of our repo,
this will become out-of-date pretty soon.
+
+In order get the changes we introduced in the official repo you have to tell
git about that.
+
+You do this locally by adding a new so-called `remote`. Per default the remote
you cloned from is called `origin`.
+
+Usually you will call the second remote `upstream` but in general you can call
it whatever you like.
+
+Add the remote on the commandline (or your git gui of choice):
+
+ git remote add upstream https://github.com/apache/incubator-plc4x.git
+
+If you list all your remotes, wirth the following command:
+
+ git remote -v
+
+It should output something like this:
+
+ origin https://github.com/{your-user-id}/incubator-plc4x.git (fetch)
+ origin https://github.com/{your-user-id}/incubator-plc4x.git (push)
+ upstream https://github.com/apache/incubator-plc4x.git (fetch)
+ upstream https://github.com/apache/incubator-plc4x.git (push)
+
+If that's so, you're fine to continue, if not ... well you could ask for
assistance on our dev-list.
+
+In order to get all changes of our upstream-repository, just execute the
following commmand:
+
+ git pull upstream
+
+This will get all changed from upstream and merge them locally. In order to
update your GitHub version, you have to push things back to `origin?`. You can
do this by execunting the follwing command:
+
+ git push
+
+(If no remote is provided, git will use `origin` per default)
+
+=== Bug Reports
+
+We use https://issues.apache.org/jira/projects/PLC4X[JIRA] as our Bug & Issue
Tracker.
+
+Feel free to submit `feature requests`, `bug reports`, `patches`, `comment on
issues`, ...
+
+In order to be able to do so, you need to create an account first.
+
+Currently Apache has a separate login system for JIRA and all other services,
this might change in the future, but right now it's the way things are.
+
+So if you are considering to contribute more than just a one-time-patch,
please choose a username that hasn't been used by an existing
http://people.apache.org/committer-index.html[Apache comitter] as this will
simplify things if we invite you to become part of the team.
+
+If you want to be assigned to an issue because you want to work on it, please
request to be added to the JIRA groups on our
http://plc4x.apache.org/mailing-lists.html[developers mailing list]
+
+=== Documentation
+
+As our documentation and website are generated as a side-product of our build,
contributing to this technically the same as contributing to the code.
+
+All our content is written in Asciidoctor and is located in
`src/site/asciidoctor` directories. For a reference of the Asciidoctor snytax
please have a look at the
https://asciidoctor.org/docs/user-manual/#introduction-to-asciidoctor[Asciidoctor
documentation].
+
=== Branching model
The PLC4X project uses the following branching model.
diff --git a/src/site/asciidoc/developers/maturity.adoc
b/src/site/asciidoc/developers/maturity.adoc
new file mode 100644
index 0000000..1193fdf
--- /dev/null
+++ b/src/site/asciidoc/developers/maturity.adoc
@@ -0,0 +1,76 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+:icons: font
+
+== Apache Maturity Model Assessment for PLC4X
+
+=== Overview
+
+This is an assessment of the PLC4X podling’s maturity, meant to help inform
the decision (of the mentors, community, Incubator PMC and ASF Board of
Directors) to graduate it as a top-level Apache project.
+
+It is based on the ASF project maturity model at
https://community.apache.org/apache-way/apache-project-maturity-model.html
+
+=== Maturity model assessment
+
+Mentors and community members are encouraged to contribute to this page and
comment on it, the following table summarizes project’s self-assessment against
the Apache Maturity Model.
+
+[width="100%",options="header"]
+|=========================================================
+|ID |Description |Status
+2+|*Code* |icon:check[role=green]
+|CD10 |The project produces Open Source software, for distribution to the
public at no charge. |icon:check[role=green] The project source code is
licensed under the Apache License, version 2.0.
+|CD20 |The project's code is easily discoverable and publicly accessible.
|icon:check[role=green] Our sourcecode is available at
https://gitbox.apache.org/repos/asf/incubator-plc4x.git[Apache GitBox] and
https://github.com/apache/incubator-plc4x[GitHub] and linked to from our
https://plc4x.apache.org/scm.html[website]
+|CD30 |The code can be built in a reproducible way using widely available
standard tools. |icon:check[role=green] our https://maven.apache.org[Maven]
build has been tested on Linux, MacOS and Windows and build description is
available on our https://plc4x.apache.org/developers/building.html[website]
+|CD40 |The full history of the project's code is available via a source code
control system, in a way that allows any released version to be recreated.
|icon:check[role=green] The entire commit history is available from the
https://gitbox.apache.org/repos/asf?p=incubator-plc4x.git;a=commit;h=dd1fcf4649107762e91f7c494a10e55319a18785[beginning].
+|CD50 |The provenance of each line of code is established via the source code
control system, in a reliable way based on strong authentication of the
committer. When third-party contributions are committed, commit messages
provide reliable information about the code provenance. |icon:check[role=green]
The project uses the git repository, managed by Apache Infra, ensuring
provenance of each line of code to a committer, each line committed before
entering incubation was equally configured.
+2+|*Licenses and Copyright* |icon:check[role=green]
+|LC10 |The code is released under the Apache License, version 2.0.
|icon:check[role=green] Both the source distribution as well as the convenience
binary artifacts clearly declare that they are licensed under the Apache 2.0
license
+|LC20 |Libraries that are mandatory dependencies of the project's code do not
create more restrictions than the Apache License does. |icon:check[role=green]
The list of mandatory dependencies have been reviewed to contain approved
licenses only.
+|LC30 |The libraries mentioned in LC20 are available as Open Source software.
|icon:check[role=green] All mandatory dependencies are available as open source
software.
+|LC40 |Committers are bound by an Individual Contributor Agreement (the
http://www.apache.org/licenses/icla.txt["Apache iCLA"]) that defines which code
they are allowed to commit and how they need to identify code that is not their
own. |icon:check[role=green] The project uses a repository managed by Apache
Gitbox -- write access requires an Apache account, which requires an ICLA on
file.
+|LC50 |The copyright ownership of everything that the project produces is
clearly defined and documented. |All files in the source repository have
appropriate headers which is enforced by tooling included in the build. ICLAs
from all initial committers have been documented. CCLAs from all companies
involved have been documented. SGA is on file for the initial contribution.
+2+|*Releases* |icon:wrench[role=yellow]
+|RE10 |Releases consist of source code, distributed using standard and open
archive formats that are expected to stay readable in the long term.
|icon:check[role=green]
https://dist.apache.org/repos/dist/release/incubator/plc4x/[Current source
releases] are distributed via dist.apache.org and
http://archive.apache.org/dist/incubator/plc4x/[Older source releases] are
available from archive.apache.org. Both are linked from the
http://plc4x.apache.org/users/download.html[website].
+|RE20 |Releases are approved by the project's PMC (see CS10), in order to make
them an act of the Foundation. |icon:check[role=green] All incubating releases
have been unanimously approved by the PLC4X community and the Incubator, all
with at least 3 (P)PMC votes and more +1 than -1.
+|RE30 |Releases are signed and/or distributed along with digests that can be
reliably used to validate the downloaded archives. |icon:check[role=green] All
releases are signed, and the
https://dist.apache.org/repos/dist/release/incubator/plc4x/KEYS[KEYS] file is
provided on dist.apache.org
+|RE40 |Convenience binaries can be distributed alongside source code but they
are not Apache Releases -- they are just a convenience provided with no
guarantee. |icon:wrench[role=yellow] Convenience binaries are distributed via
Maven Central Repository only. Currently due to the platform-dependency of C++
libraries, these are not distributed currently.
+|RE50 |The release process is documented and repeatable to the extent that
someone new to the project is able to independently generate the complete set
of artifacts required for a release. |icon:check[role=green] We have a guide
for release managers, that has been tested by multiple release managers
available on our http://plc4x.apache.org/developers/release.html[website].
+2+|*Quality* |icon:check[role=green]
+|QU10 |The project is open and honest about the quality of its code. Various
levels of quality and maturity for various modules are natural and acceptable
as long as they are clearly communicated. |icon:check[role=green] All issues
are documented in our https://issues.apache.org/jira/projects/PLC4X[JIRA]
instance, which is our primary bug and issue tracker.
+|QU20 |The project puts a very high priority on producing secure software.
|icon:check[role=green] even if we haven't received any security issues
targeted at PLC4X yet, we pro-actively monitor our dependencies and if reported
would treat them with the highest priority, according to the
https://www.apache.org/security/committers.html[CVE/Security Advisory
procedure].
+|QU30 |The project provides a well-documented, secure and private channel to
report security issues, along with a documented way of responding to them.
|icon:check[role=green] We are using Apaches default way to submit security
related information, which is described on our
http://plc4x.apache.org/users/security.html[website]
+|QU40 |The project puts a high priority on backwards compatibility and aims to
document any incompatible changes and provide tools and documentation to help
users transition to new features. |icon:check[role=green] We try to keep
everything as backward compatible as possible. If we are forced to introduce
incompatible changes, these is documented in a `Incompatible changes` section
as part of our release notes.
+|QU50 |The project strives to respond to documented bug reports in a timely
manner. |icon:check[role=green] Bug reports are treated with priority and are
automatically posted to our developer mailing list
https://lists.apache.org/[email protected] so they are
prominently recognised.
+3+|*Community*
+|CO10 |The project has a well-known homepage that points to all the
information required to operate according to this maturity model. |
+|CO20 |The community welcomes contributions from anyone who acts in good faith
and in a respectful manner and adds value to the project. |
+|CO30 |Contributions include not only source code, but also documentation,
constructive bug reports, constructive discussions, marketing and generally
anything that adds value to the project. |
+|CO40 |The community is meritocratic and over time aims to give more rights
and responsibilities to contributors who add value to the project. |
+|CO50 |The way in which contributors can be granted more rights such as commit
access or decision power is clearly documented and is the same for all
contributors. |
+|CO60 |The community operates based on consensus of its members (see CS10) who
have decision power. Dictators, benevolent or not, are not welcome in Apache
projects. |
+|CO70 |The project strives to answer user questions in a timely manner. |
+3+|*Consensus Building*
+|CS10 |The project maintains a public list of its contributors who have
decision power -- the project's PMC (Project Management Committee) consists of
those contributors. |
+|CS20 |Decisions are made by consensus among PMC members 9 and are documented
on the project's main communications channel. Community opinions are taken into
account but the PMC has the final word if needed. |
+|CS30 |Documented voting rules are used to build consensus when discussion is
not sufficient. |
+|CS40 |In Apache projects, vetoes are only valid for code commits and are
justified by a technical explanation, as per the Apache voting rules defined in
CS30. |
+|CS50 |All "important" discussions happen asynchronously in written form on
the project's main communications channel. Offline, face-to-face or private
discussions 11 that affect the project are also documented on that channel. |
+3+|*Independence*
+|IN10 |The project is independent from any corporate or organizational
influence. |
+|IN20 |Contributors act as themselves as opposed to representatives of a
corporation or organization. |
+|=========================================================
diff --git a/src/site/asciidoc/developers/team.adoc
b/src/site/asciidoc/developers/team.adoc
new file mode 100644
index 0000000..cce0ec5
--- /dev/null
+++ b/src/site/asciidoc/developers/team.adoc
@@ -0,0 +1,35 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+:imagesdir: ../images/
+:icons: font
+
+== Team
+
+Sorted by first name:
+
+[width="100%",cols="1,4,1,1",options="header"]
+|=========================================================
+|Name |Bio | |
+| *Christofer Dutz*
+
+ IoT Consultant
+
+ codecentric AG
+
+ Frankfurt |Likes to swim outside the mainstream. He is really passionate
about walking new paths. His first email to an Apache list on file was to the
Cocoon project back in the year 2000. His direct involvement started in 2012
when he was elected to become an Apache Flex committer. Since then he became
involved with a lot of Apache-internal groups and committees and was elected to
become a Member of the Apache Software Foundation in 2015 and recently has
taken up the role of mentoring [...]
+
+
diff --git
a/src/site/resources/images/contributing-github-create-pull-request.png
b/src/site/resources/images/contributing-github-create-pull-request.png
new file mode 100644
index 0000000..1d8721a
Binary files /dev/null and
b/src/site/resources/images/contributing-github-create-pull-request.png differ
diff --git a/src/site/resources/images/contributing-github-fork.png
b/src/site/resources/images/contributing-github-fork.png
new file mode 100644
index 0000000..8600ffd
Binary files /dev/null and
b/src/site/resources/images/contributing-github-fork.png differ
diff --git a/src/site/resources/images/team/cdutz.png
b/src/site/resources/images/team/cdutz.png
new file mode 100644
index 0000000..2e42eb5
Binary files /dev/null and b/src/site/resources/images/team/cdutz.png differ
diff --git a/src/site/site.xml b/src/site/site.xml
index 296e862..d11f204 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -116,9 +116,11 @@
<item name="Code Analysis" href="developers/sonar.html"/>
<item name="Continuous Integration" href="developers/ci.html"/>
<item name="Contributing" href="developers/contributing.html"/>
- <!--item name="Decision Making" href="developers/decisions.html"/-->
- <item name="JQassistant" href="developers/jqassistant.html"/>
+ <item name="Decision Making" href="developers/decisions.html"/>
+ <!--item name="JQassistant" href="developers/jqassistant.html"/-->
+ <item name="Maturity" href="developers/maturity.html"/>
<item name="Releasing" href="developers/release.html"/>
+ <item name="Team" href="developers/team.html"/>
<item name="VM Access" href="developers/vm.html"/>
<item name="VPN Access" href="developers/vpn.html"/>
<item name="Website" href="developers/website.html"/>