This is an automated email from the ASF dual-hosted git repository. cdutz pushed a commit to branch feature/graduation-adjustments in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 1ef81b024ff65d6724538f8aceb59f3216dbf13d Author: Christofer Dutz <[email protected]> AuthorDate: Fri Apr 12 10:49:19 2019 +0200 - Adjusting the website to no longer be an incubating podlings website. - Adjusted the release documentation to TLP release processed. - Adjusted the build to produce TLP release artifacts. --- DISCLAIMER | 7 - pom.xml | 22 +-- src/site/asciidoc/developers/ci.adoc | 2 +- src/site/asciidoc/developers/conferences.adoc | 2 +- src/site/asciidoc/developers/contributing.adoc | 14 +- src/site/asciidoc/developers/maturity.adoc | 8 +- src/site/asciidoc/developers/release.adoc | 181 ++++---------------- src/site/asciidoc/incubation-proposal.adoc | 227 ------------------------- src/site/asciidoc/index.adoc | 4 +- src/site/asciidoc/users/download.adoc | 2 +- src/site/asciidoc/users/industry40.adoc | 2 +- src/site/resources/css/site.css | 4 +- src/site/resources/images/apache_logo.png | Bin 0 -> 16457 bytes src/site/site.xml | 24 +-- 14 files changed, 65 insertions(+), 434 deletions(-) diff --git a/DISCLAIMER b/DISCLAIMER deleted file mode 100644 index 60c3f05..0000000 --- a/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache PLC4X is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the name of Apache TLP sponsor. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. diff --git a/pom.xml b/pom.xml index ed9caf7..c2341be 100644 --- a/pom.xml +++ b/pom.xml @@ -42,9 +42,9 @@ <inceptionYear>2017</inceptionYear> <scm> - <connection>scm:git:https://gitbox.apache.org/repos/asf/incubator-plc4x.git</connection> - <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/incubator-plc4x.git</developerConnection> - <url>https://github.com/apache/incubator-plc4x</url> + <connection>scm:git:https://gitbox.apache.org/repos/asf/plc4x.git</connection> + <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/plc4x.git</developerConnection> + <url>https://github.com/apache/plc4x</url> <tag>HEAD</tag> </scm> @@ -52,7 +52,7 @@ <distributionManagement> <site> <id>apache.website</id> - <url>scm:git:https://gitbox.apache.org/repos/asf/incubator-plc4x-website.git</url> + <url>scm:git:https://gitbox.apache.org/repos/asf/plc4x-website.git</url> </site> </distributionManagement> @@ -737,8 +737,6 @@ <resourceBundles> <!-- Will generate META-INF/{DEPENDENCIES,LICENSE,NOTICE} --> <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle> - <!-- Will generate META-INF/DISCLAIMER --> - <resourceBundle>org.apache:apache-incubator-disclaimer-resource-bundle:1.1</resourceBundle> </resourceBundles> <!-- Content in this directory will be appended to generated resources --> <appendedResourcesDirectory>${basedir}/src/remote-resources</appendedResourcesDirectory> @@ -976,20 +974,12 @@ </executions> </plugin> - <!-- - Inject the "incubating" into the output filename - N.B. this finalName config spec is currently ignored/overridden - by the "apache-release" profile based configuration - in this pom. See that config for the finalName. - Retain this for now in case we get to the point where - that "apache-release" config is no longer needed. - --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.1</version> <configuration> - <finalName>apache-plc4x-incubating-${project.version}</finalName> + <finalName>apache-plc4x-${project.version}</finalName> </configuration> </plugin> @@ -1753,7 +1743,7 @@ <fileSet> <directory>${project.build.directory}</directory> <includes> - <include>apache-plc4x-incubating-${project.version}-source-release.zip</include> + <include>apache-plc4x-${project.version}-source-release.zip</include> </includes> </fileSet> </fileSets> diff --git a/src/site/asciidoc/developers/ci.adoc b/src/site/asciidoc/developers/ci.adoc index a811fe2..3e601cf 100644 --- a/src/site/asciidoc/developers/ci.adoc +++ b/src/site/asciidoc/developers/ci.adoc @@ -21,7 +21,7 @@ We are currently using two different CI systems. - Apache's Jenkins at: https://builds.apache.org/view/M-R/job/PLC4X/ -- Travis at: https://travis-ci.org/apache/incubator-plc4x/ +- Travis at: https://travis-ci.org/apache/plc4x/ Hereby Apache Jenkins clearly is responsible for running the full testsuite with all integration-tests. Also only jobs on Apache Jenkins are allowed to publish SNAPSHOT versions of the Maven artifacts to Apaches Nexus. diff --git a/src/site/asciidoc/developers/conferences.adoc b/src/site/asciidoc/developers/conferences.adoc index 959644f..0cdf82d 100644 --- a/src/site/asciidoc/developers/conferences.adoc +++ b/src/site/asciidoc/developers/conferences.adoc @@ -29,7 +29,7 @@ On this page we are listing options to attend talks and events around PLC4X. |15th November 2018 |Düsseldorf (GER) |Meetup |RheinJUG |http://www.rheinjug.de/rheinjug/event/2018/11/15/wie-wir-mit-apache-plc4x-die-silos-in-der-automatisierungsindustrie-aufbrechen.html[Wie wir mit Apache PLC4X die Silos in der Automatisierungsindustrie aufbrechen] |12th-13th November 2018 |Berlin (GER) |Conference |https://www.sv-veranstaltungen.de/fachbereiche/big-data-3/[3. Fachkonferenz: Industrial Analytics & Big Data in der Industrie] |Kommunikation mit Industrieanlagen ohne Umbau- und Lizenzkosten |22th-24th October 2018 |Edinburgh (GB) |Conference |https://events.linuxfoundation.org/events/open-source-summit-europe-2018/[Open-Source Summit Europe] |Revolutionizing the production industry with Apache PLC4X -|24th-19th September 2018 |Montreal (CAN) |Conference |http://apachecon.com/acna18/?ref=apachecon.com[ApacheCon NA 2018] |https://apachecon.dukecon.org/acna/2018/#/scheduledEvent/51feeb6f55f250c39[Revolutionizing the Production Industry with Apache PLC4X (incubating)] +|24th-19th September 2018 |Montreal (CAN) |Conference |http://apachecon.com/acna18/?ref=apachecon.com[ApacheCon NA 2018] |https://apachecon.dukecon.org/acna/2018/#/scheduledEvent/51feeb6f55f250c39[Revolutionizing the Production Industry with Apache PLC4X] |20th September 2018 |Nürtingen (GER) |Meetup |PLC4X Meetup |First general committer meetup |13th-14th June 2018 |Berlin (GER) |Conference |http://www.apachecon.com/euroadshow18/#[Apache EU Roadshow] |https://foss-backstage.de/session/revolutionizing-production-industry-apache-plc4x[Revolutionizing the production industry with Apache PLC4X] |4th June 2018 |Cologne (GER) |Conference |https://www.buildingiot.de/[Building IoT] |https://www.buildingiot.de/veranstaltung-6815-industrial-iot-und-edge-computing-mit-apache-plc4x-und-apache-edgent-%5Bsponsored-talk%5D.html?id=6815[Industrial IoT und Edge Computing mit Apache PLC4X und Apache Edgent] diff --git a/src/site/asciidoc/developers/contributing.adoc b/src/site/asciidoc/developers/contributing.adoc index a49beb9..94ff18b 100644 --- a/src/site/asciidoc/developers/contributing.adoc +++ b/src/site/asciidoc/developers/contributing.adoc @@ -38,7 +38,7 @@ 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`. +After that's done, please to to our https://github.com/apache/plc4x[GitHub site] and create a so-called `Fork`. image::contributing-github-fork.png[] @@ -46,7 +46,7 @@ What happens now, is that GitHub creates a full copy of the PLC4X repo in your a Now ideally you check-out your cloned repository: - git clone https://github.com/{your-user-id}/incubator-plc4x.git + git clone https://github.com/{your-user-id}/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. @@ -72,7 +72,7 @@ Usually you will call the second remote `upstream` but in general you can call i Add the remote on the commandline (or your git gui of choice): - git remote add upstream https://github.com/apache/incubator-plc4x.git + git remote add upstream https://github.com/apache/plc4x.git If you list all your remotes, with the following command: @@ -80,10 +80,10 @@ If you list all your remotes, with the following command: 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) + origin https://github.com/{your-user-id}/plc4x.git (fetch) + origin https://github.com/{your-user-id}/plc4x.git (push) + upstream https://github.com/apache/plc4x.git (fetch) + upstream https://github.com/apache/plc4x.git (push) If that's so, you're fine to continue, if not ... well you could ask for assistance on our dev-list. diff --git a/src/site/asciidoc/developers/maturity.adoc b/src/site/asciidoc/developers/maturity.adoc index 51ae0c9..b615aff 100644 --- a/src/site/asciidoc/developers/maturity.adoc +++ b/src/site/asciidoc/developers/maturity.adoc @@ -34,9 +34,9 @@ Mentors and community members are encouraged to contribute to this page and comm |ID |Description |Status |*Code* 2+|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] +|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/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]. +|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=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. |*Licenses and Copyright* 2+|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 @@ -45,9 +45,9 @@ Mentors and community members are encouraged to contribute to this page and comm |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. |*Releases* 2+|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]. +|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/plc4x/[Current source releases] are distributed via dist.apache.org and http://archive.apache.org/dist/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 +|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/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]. |*Quality* 2+|icon:check[role=green] diff --git a/src/site/asciidoc/developers/release.adoc b/src/site/asciidoc/developers/release.adoc index 214a3ea..3a19639 100644 --- a/src/site/asciidoc/developers/release.adoc +++ b/src/site/asciidoc/developers/release.adoc @@ -127,7 +127,7 @@ Here comes a template: ``` ============================================================== -(Unreleased) Apache PLC4X (incubating) 0.X.0-SNAPSHOT +(Unreleased) Apache PLC4X 0.X.0-SNAPSHOT ============================================================== New Features @@ -186,7 +186,7 @@ What the plugin now does, is automatically execute the following operations: However this just prepared the git repository for the release, we have to perform the release to produce and stage the release artifacts. -Please verify the git repository at: https://gitbox.apache.org/repos/asf?p=incubator-plc4x.git +Please verify the git repository at: https://gitbox.apache.org/repos/asf?p=plc4x.git is in the correct state. Please select the release branch and verify the commit log looks similar to this image::release-git-history.png[] @@ -258,18 +258,18 @@ This file will also be signed and `SHA512` hashes will be created. Each new release and release-candidate has to be staged in the Apache SVN under: -https://dist.apache.org/repos/dist/dev/incubator/plc4x/ +https://dist.apache.org/repos/dist/dev/plc4x/ The directory structure of this directory is as follows: ./KEYS - ./0.1.0-incubating/ - ./0.1.0-incubating/rc1 - ./0.1.0-incubating/rc1/README - ./0.1.0-incubating/rc1/RELEASE_NOTES - ./0.1.0-incubating/rc1/apache-plc4x-incubating-0.1.0-source-release.zip - ./0.1.0-incubating/rc1/apache-plc4x-incubating-0.1.0-source-release.zip.asc - ./0.1.0-incubating/rc1/apache-plc4x-incubating-0.1.0-source-release.zip.sha512 + ./0.4.0/ + ./0.4.0/rc1 + ./0.4.0/rc1/README + ./0.4.0/rc1/RELEASE_NOTES + ./0.4.0/rc1/apache-plc4x-0.1.0-source-release.zip + ./0.4.0/rc1/apache-plc4x-0.1.0-source-release.zip.asc + ./0.4.0/rc1/apache-plc4x-0.1.0-source-release.zip.sha512 The `KEYS` file contains the PGP public key which belongs to the private key used to sign the release artifacts. @@ -289,25 +289,24 @@ So after committing these files to SVN you are ready to start the vote. After staging the release candidate in the Apache SVN, it is time to actually call out the vote. For this we usually send two emails. -The following is the one used to do our first release: +The following would be the one used to do our first TLP release: ``` E-Mail Topic: - [VOTE] Apache PLC4X (Incubating) 0.1.0 RC1 + [VOTE] Apache PLC4X 0.4.0 RC1 Message: - Apache PLC4X (Incubating) 0.1.0 has been staged under [2] and it’s time to vote - on accepting it for release. All Maven artifacts are available under [1]. - If approved we will seek final release approval from the IPMC. + Apache PLC4X 0.4.0 has been staged under [2] and it’s time to vote + on accepting it for release. All Maven artifacts are available under [1]. Voting will be open for 72hr. A minimum of 3 binding +1 votes and more binding +1 than binding -1 are required to pass. - Release tag: release/0.1.0 + Release tag: release/0.4.0 Hash for the release tag: 8c1e0c1b85ce15814f2c08e0eec5d593951d168d - Per [3] "Before voting +1 [P]PMC members are required to download + Per [3] "Before voting +1 PMC members are required to download the signed source code package, compile it as provided, and test the resulting executable on their own platform, along with also verifying that the package meets the requirements of the ASF policy @@ -319,8 +318,8 @@ The following is the one used to do our first release: [ ] -1 reject (explanation required) - [1] https://repository.apache.org/content/repositories/orgapacheplc4x-1003 - [2] https://dist.apache.org/repos/dist/dev/incubator/plc4x/0.2.0-incubating/rc1 + [1] https://repository.apache.org/content/repositories/orgapacheplc4x-1010 + [2] https://dist.apache.org/repos/dist/dev/plc4x/0.4.0/rc1 [3] https://www.apache.org/dev/release.html#approving-a-release [4] https://cwiki.apache.org/confluence/display/PLC4X/Validating+a+staged+Release ``` @@ -330,7 +329,7 @@ As it is sometimes to do the vote counting, if voting and discussions are going ``` E-Mail Topic: - [DISCUSS] Apache PLC4X (Incubating) 0.1.0 RC1 + [DISCUSS] Apache PLC4X 0.4.0 RC1 Message: This is the discussion thread for the corresponding VOTE thread. @@ -350,131 +349,23 @@ After the 72 hour minimum wait period is over and we have fulfilled the requirem ``` E-Mail Topic: - [RESULT] [DISCUSS] Apache PLC4X (Incubating) 0.1.0 RC1 + [RESULT] [DISCUSS] Apache PLC4X 0.1.0 RC1 Message: - So, the vote passes with 3 +1 votes by PPMC members and one +1 vote by a non PPMC member. - - I’ll forward this to the incubator for approval. Also I'll update the GIT tag as suggested. + So, the vote passes with 3 +1 votes by PMC members and one +1 vote by a non PMC member. Chris ``` -=== An extra step for incubator podlings - -If the vote passes in the project, for a top-level project the formal process would be finished. - -Incubator podlings however have to do an extra step and have the Incubator PMC also do a vote. - -Now our mentors and any member of the Incubator PMC have the chance to review our release. - -Only if this second vote passes, are we allowed to finally announce the release and release the artifacts. - -(The following template needs to be adjusted in several places for other releases): -``` - To: [email protected] - - E-Mail Topic: -[VOTE] Release Apache PLC4X (Incubating) 0.1.0 [RC2] - - Message: -Hello all, - -This is a call for vote to release Apache PLC4X (Incubating) version 0.1.0. - -The Apache PLC4X community has voted on and approved a proposal to release -Apache PLC4X (Incubating) version 0.1.0. - -We now kindly request the Incubator PMC members review and vote on this -incubator release. - -Apache PLC4X (incubating) is a set of libraries for communicating with -industrial programmable logic controllers (PLCs) using a variety of -protocols but with a shared API. - -PLC4X community vote and result thread: -Result: https://lists.apache.org/thread.html/31ca1bd96eb3dddc30ea1f08e968ece0c04b18fef3fa3bf3707c6e8f@%3Cdev.plc4x.apache.org%3E -Vote: https://lists.apache.org/thread.html/1d4ac299a46934f639987df04d6d19be325572a88decb5c564de89c8@%3Cdev.plc4x.apache.org%3E -A minor issue also can be found in the above thread, which we will be addressing in the next release. -Jira Issue for tracking this can be found here: -https://issues.apache.org/jira/projects/PLC4X/issues/PLC4X-60 - -The release candidates (RC2): -https://dist.apache.org/repos/dist/dev/incubator/plc4x/0.1.0 - -Git tag for the release (RC2): -https://github.com/apache/incubator-plc4x/tree/rel/0.1.0 - -Hash for the release tag: -8c1e0c1b85ce15814f2c08e0eec5d593951d168d - -Release Notes: -https://github.com/apache/incubator-plc4x/blob/rel/0.1.0/RELEASE_NOTES - -The artifacts have been signed with Key : 089127C15C60D6B9, which can be -found in the keys file: -https://dist.apache.org/repos/dist/dev/incubator/plc4x/KEYS - -Look at here for how to verify this release candidate: -https://cwiki.apache.org/confluence/display/PLC4X/Validating+a+staged+Release - -The vote will be open for at least 72 hours or until necessary number of -votes are reached. - -Please vote accordingly: -[ ] +1 approve -[ ] +0 no opinion -[ ] -1 disapprove with the reason - -{your name here} -Apache PLC4X -``` - -As soon as the 72 hours period has passed and we got enough `+1` votes, we send a vote result email: - -``` - To: [email protected] - - E-Mail Topic: -[VOTE] Release Apache PLC4X (Incubating) 0.1.0 [RC2] - - Message: -Hello all, - -The vote for releasing Apache PLC4X {version}-{RC-Number} (incubating) is closed, now. - -Vote result: -{number of binding +1} (+1 binding) ({List of apache ids for voters}) -{number of binding 0} (0 binding) ({List of apache ids for voters}) -{number of binding -1} (-1 binding) ({List of apache ids for voters}) - -number of non-binding +1} (+1 non-binding) ({List names of voters}) -number of non-binding 0} (0 non-binding) ({List names of voters}) -number of non-binding -1} (-1 non-binding) ({List names of voters}) - -Thank you everyone for taking the time to review the release and help us. - -I will process to publish the release and send ANNOUNCE. - -{your name here} -Apache PLC4X -``` - -Also you need to add the release to the next board report for the incubator: -https://wiki.apache.org/incubator/October2018 -(Please adjust the url to the current date) - === Releasing after a successful vote As soon as the votes are finished and the results were in favor of a release, the staged artifacts can be released. This is done by moving them inside the Apache SVN. - svn move -m "Release Apache PLC4X (incubating) 0.1.0" \ - https://dist.apache.org/repos/dist/dev/incubator/plc4x/0.1.0-incubating/rc2 \ - https://dist.apache.org/repos/dist/release/incubator/plc4x/0.1.0-incubating + svn move -m "Release Apache PLC4X 0.4.0" \ + https://dist.apache.org/repos/dist/dev/plc4x/0.4.0/rc1 \ + https://dist.apache.org/repos/dist/release/plc4x/0.4.0 This will make the release artifacts available and will trigger them being copied to mirror sites. @@ -486,15 +377,15 @@ As a lot of mirrors are serving our releases, it is the Apache policy to clean o This can be done like this: - svn delete https://dist.apache.org/repos/dist/release/incubator/plc4x/0.2.0-incubating/ -m"deleted version 0.2.0" + svn delete https://dist.apache.org/repos/dist/release/plc4x/0.3.0/ -m"deleted version 0.3.0" -After this https://dist.apache.org/repos/dist/release/incubator/plc4x should only contain the latest release directory. +After this https://dist.apache.org/repos/dist/release/plc4x should only contain the latest release directory. === Releasing the Maven artifacts The probably simplest part is releasing the Maven artifacts. -In order to do this, the release manager logs into Nexus at https://repository.apache.org/, selects the stagign repository and clicks on the `Release` button. +In order to do this, the release manager logs into Nexus at https://repository.apache.org/, selects the staging repository and clicks on the `Release` button. This will move all artifacts into the Apache release repository and delete the staging repository after that. @@ -530,7 +421,7 @@ has to be listed there. This is done by changing the `download.adoc` under `src/site/users/` (**in the develop branch, as this is where the site is generated from!**) 1. Copy the last release down to _Previous Releases_ -2. Point the download links of the last release to archive, e.g. `http://archive.apache.org/dist/incubator/plc4x/0.2.0-incubating/apache-plc4x-incubating-0.2.0-source-release.zip` +2. Point the download links of the last release to archive, e.g. `http://archive.apache.org/dist/plc4x/0.3.0/apache-plc4x-0.3.0-source-release.zip` 3. Add the new Release under _Current Releases_ and change all links. _Note: Please add an anchor for the toc_ 4. Update the sections for the changes according to the _RELEASE_NOTES_ from the release @@ -553,10 +444,10 @@ [email protected] [email protected] E-Mail Topic: -[ANNOUNCE] Apache PLC4X (incubating) 0.1.0 released +[ANNOUNCE] Apache PLC4X 0.4.0 released Message: -The Apache PLC4X (Incubating) team is pleased to announce the release of Apache PLC4X (incubating) 0.1.0 +The Apache PLC4X team is pleased to announce the release of Apache PLC4X (incubating) 0.1.0 This is the first official release of PLC4X. @@ -585,18 +476,6 @@ The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html -===== - -*Disclaimer* - -Apache PLC4X is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation -is required of all newly accepted projects until a further review indicates -that the infrastructure, communications, and decision making process have -stabilized in a manner consistent with other successful ASF projects. While -incubation status is not necessarily a reflection of the completeness or -stability of the code, it does indicate that the project has yet to be -fully endorsed by the ASF. ``` It is important to note that you have to send this email from your apache email address or it will be rejected. This wasn't very simple for me to setup. diff --git a/src/site/asciidoc/incubation-proposal.adoc b/src/site/asciidoc/incubation-proposal.adoc deleted file mode 100644 index f0ba8cd..0000000 --- a/src/site/asciidoc/incubation-proposal.adoc +++ /dev/null @@ -1,227 +0,0 @@ -// -// 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. -// - -== Abstract - -PLC4X is intended to become a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. - -For the most used of these protocols, PLC4X will provide implementations of drivers. Each protocol driver is hereby provided by an individual artifact. - -In a first step, we are concentrating on Java but will be hoping to be able to port implementation to C and other languages. - -== Background - -Industrial machines have been controlled by PLCs for more than 30 years. In simpler pieces of machinery these may operate autonomously, in more complex ones several to hundreds of these industrial computers communicate with each other. - -== Rationale - -Currently software for communicating with PLCs is mainly proprietary software and a whole ecosystem of closed-source solutions exist. Usually this software is very expensive and licensing implies a lot of restrictions on its usage. There is a small set of open-source libraries available, but unfortunately most of these are GPL licensed and hereby disqualify themselves from commercial use. Most of these are direct ports from C/C++ implementations and therefore inherit their API. Usually t [...] - -There are multiple rationales behind this project: - -1. By providing libraries with Apache license, it will be possible to create commercial applications which access PLCs -2. By providing a universal API for different protocols, it reduces the vendor lock-in when creating software -3. Most of the proprietary commercial solutions are based on Windows systems, especially the Siemens solutions, sometimes require maintaining un-patched versions of older Windows version in order to run, this is a huge security risk (See Stuxnet) -4. Most of the proprietary commercial solutions don't scale. Running them in public/private clouds and/or in containers is completely out of the question. - -As a result of above, it would be possible to start writing secure, scalable and reliable software using the full stack of open-source solutions and hereby open a complete new market for developers. In order to make this even easier, we are planning on directly providing adapters and examples for using PLC4X together with other Apache frameworks. - -== Initial Goals - -Develop a universal API for accessing industrial programmable logic controllers in a protocol-agnostic way. Also implement Java versions of drivers for the most prominent protocols: S7, Modbus and OPC-UA - but not limited to those. On the side of the adapters, for existing OS solutions, we are currently working on adapters for: Apache Edgent (incubating), Apache Camel and eventually even Apache Brooklyn. - -Also, we will be providing a Scala wrapper to ease integration of PLC4X in Scala based systems with an API Scala developers should easily adopt. - -As soon as a C version exists, we are planning on providing an Apache Mynewt adapter as we see great benefits on this combination. - -== Current Status - -=== Meritocracy - -PLC4X was initially created by Christofer Dutz. He is an Apache Member and also involved in a variety of Apache and Non-Apache Open-Source projects. Being PMC of the Apache Flex, Apache Kibble and the Apache Travel Assistance he definitely knows how Apache works and is a strong advocate of the Apache Way. He is also currently helping the Apache Edgent project as member of the PPMC. However, the team working on PLC4X also includes a diverse set of additional Apache Committers and Members [...] - -=== Community - -Currently the PLC4X community exists out of a set of core developers working on a private code repository provided by codecentric (the company Christofer Dutz is working for). However, the set of developers, working on PLC4X is not limited to codecentric employees as we are also inviting outside contributors. - -The main reason for using a private repo instead of a public one, is that we were planning on starting incubation at Apache within a few weeks after initiating the project. Therefore, we wanted to start writing everything with Apache package names and Apache Maven coordinates. Even our logo is directly designed including the Apache Feather and "Apache" inside the name. As only real Apache projects are allowed to use "Apache", we decided to go down the private repository path. - -=== Core Developers - -(In alphabetical order) - -- Benedikt Ritter (codecentric) (Apache Member) -- Christofer Dutz (codecentric) (Apache Member) -- Dale LaBossiere (IBM) (PPMC Member of the Apache Edgent incubator podling) -- Frank Stibane (codecentric) -- Greg Trasuk (Web Age Solutions) (Apache Member) -- Justin McLean (External) (Apache Member) -- Kai Herings (codecentric) -- Lukas Friedrichsen (Hochschule Bochum) -- Mark Keinhörster (codecentric) -- Rolf Felker (codecentric) -- Sebastian Rühl (codecentric) - -=== Alignment - -The build system is based on Apache Maven. Also, it uses Apache Edgent (incubating) and Apache Camel libraries for providing adapters to these systems. Being a full-blown Apache enthusiast, for Christofer there hasn't been any thought in bringing this project into any other collaboration platform or foundation. This idea is shared by a big majority of the core contributors. - -=== Project Name - -As we know that renaming a codebase can be a huge pain, we have invested quite a lot of time into finding a suitable name. In the end, we came up with a list of about 20 project names, which we did the fully required background checks for. On the options surviving these checks, we internally voted on the name. It was a pretty close tie between PLC4J and PLC4X, but we decided to go for the later as we are planning on providing libraries for multiple languages beyond Java. - -PLC4X has no registered trademarks that we could find and the only potential problem would be a hardware LPT Breakout Board by a Russian Company called Purelogic (https://purelogic.ru/doc/PDF/Controller/PLC4x.pdf) English version (http://www.zappautomation.co.uk/productattachments/index/download?id=99) -But we don't see any problems to arise from this. If there would be problems, we would probably fallback to using PLC4J, which had no conflicts at all and would eventually name our sub-products PLC4S (Scala) and PLC4C (C/C++). - -== Known Risks - -=== Orphaned projects - -PLC4X is a new Project, which has just been started. The feedback from the industry has been overwhelming so the risk of the project being orphaned is minimal. - -=== Inexperience with Open Source - -The set of core developers of this project consists of a large set of experienced open-source developers, most of these even being Apache Members. - -=== Homogeneous Developers - -Even if a big part of the projects initial committer team is affiliated with codecentric, we have been successful and continuing to be in actively recruiting people from other commercial and non-commercial entities. - -=== Reliance on Salaried Developers - -Currently only Christofer Dutz is being paid to work on this project exclusively. - -=== Relationships with Other Apache Products - -PLC4X makes great used of Apache Maven for the build system and Apache Commons for providing a lot of basic functionality. - -Also does it currently have direct relations to the Apache Camel and Apache Edgent projects as it provides modules for direct integration of PLC4X into these frameworks. - -In the future we are planning on also adding such modules for Apache Brooklyn and as soon as a C-based version of PLC4X is available Apache Mynewt. - -Currently there is no competing project at the Apache Software Foundation. - -=== An Excessive Fascination with the Apache Brand - -We are certain that PLC4X itself will profit from being an official Apache project, in terms of attracting a community and establishing a solid group of developers and users, but also to ease the interaction with other Apache projects, used in PLC4X or project PLC4X provides adapters for as all will share the same base. - -Our general belief in the Apache way as well as the reasons mentioned above are the main reasons for us to send this proposal. We think that a good community is needed to build and maintain good software, such as PLC4X. Also do we need a big community to support a big variety of systems. However, even if PLC4X would not be accepted, development would definitely continue elsewhere. Apache is just our primary foundation of choice. As such, there is no need to, or reason to, "abuse" the Apa [...] - -=== Possibility of legal actions - -Some of the protocols are not publicly defined. Existing open-source implementations contain licensing restrictions. To avoid licensing issues we made sure the license of information used to implement drivers in PLC4X are compatible with the Apache license and added references to these sources in the project documentation to prove this. This documentation is part of the codebase. We are therefore not expecting any real problems on this side. - -=== Test setup could require hardware - -A test-suite for PLC4X could involve tests run against virtual or real hardware. It could be problematic to include these in automated builds run on build.apache.org, but Apache infra have already signaled that there should be options to work this out. - -== Documentation - -Currently all documentation and information is stored alongside the code in a private corporate GIT repository and is available as part of the website which is generated as part of the build. - -== Initial Source - -Development of PLC4X started at codecentric in October of 2017. The source currently is located on a private corporate GIT repository. All the code is available at https://gitlab.codecentric.de/iot/plc4x (Accounts can be created on a request basis) - -== Source and Intellectual Property Submission Plan - -PLC4X is currently mainly developed by, but not limited to, codecentric employees. However, all code has been developed completely from scratch it was ensured from the start that each document is already fully licensed under the Apache 2.0 license. All source will be donated to Apache without any exceptions. - -== External Dependencies - -- Apache Commons-IO, Apache License 2.0 -- Apache Edgent, Apache License 2.0 -- Netty, Apache License 2.0 -- Metrics Core, Apache License 2.0 -- Google Gson, Apache License 2.0 - -This source can be included, according to http://www.apache.org/legal/3party.html - -- Logback, EPL 1.0 - -This source can NOT be included, according to http://www.apache.org/legal/3party.html - -== Cryptography - -Not applicable. - -== Required Resources - -=== Mailing Lists - -- plc4x-dev -- plc4x-user -- plc4x-private - -We think that a separate user list is advisable, as this project targets a sector in software development where we are expecting questions from non-typical software developers. The world of PLCs and the production industry differs greatly from the world we usually work in, therefore we don't want to distract and confuse these new community members with implementation details and keep the vetting of these new members from the developer discussions. - -=== Git Repository - -https://git-wip-us.apache.org/repos/asf/incubator-plc4x.git - -=== Issue Tracking - -JIRA PLC4X - -=== Confluence Wiki - -To be able to provide help, documentation, faq etc, a wiki is needed. - -== Initial Committers - -(In alphabetical order) - -- Benedikt Ritter ([email protected]) -- Christofer Dutz ([email protected]) -- Dale LaBossiere ([email protected]) -- Frank Stibane ([email protected]) -- Greg Trasuk ([email protected]) -- Justin McLean ([email protected]) -- Kai Herings ([email protected]) -- Lukas Friedrichsen ([email protected]) -- Mark Keinhörster ([email protected]) -- Rolf Felker ([email protected]) -- Sebastian Rühl ([email protected]) - -== Affiliations - -Currently most of the initial committers are employees of codecentric. Currently Christofer Dutz is the only contributor paid to work on PLC4X full-time. The others participate as part of their so-called "+1 time" (At codecentric employees get to spend 20% of their time to work on open-source, education, etc. and they invest a lot of this time on the project). - -Besides these we also have contributors from companies other than codecentric (Dale, Greg, Justin) as well as universities (Lukas). - -== Sponsors - -=== Champion - -- Justin McLean - -=== Nominated Mentors - -(In alphabetical order) - -- Greg Trasuk -- Justin McLean -- Luciano Resende -- Stefan Bodewig - -=== Sponsoring Entity - -PLC4X is a new project and proposed is to release to code under the sponsorship of the Incubator. - -== Status - -First draft \ No newline at end of file diff --git a/src/site/asciidoc/index.adoc b/src/site/asciidoc/index.adoc index e840877..fcf029c 100644 --- a/src/site/asciidoc/index.adoc +++ b/src/site/asciidoc/index.adoc @@ -17,7 +17,7 @@ :imagesdir: images/ :icons: font -== Apache PLC4X™ (Incubating): Universal Protocol Adapter for Industrial IoT +== Apache PLC4X™: Universal Protocol Adapter for Industrial IoT image::iot-lab.jpg[width=480, float=right] @@ -71,7 +71,7 @@ Beyond implementing the pure adapters we have already implemented some of the pl [width=100%] |=== a|image::apache_edgent_logo.png[width=80%,link=https://edgent.apache.org] a|image::apache_camel_logo.png[width=80%,link=https://camel.apache.org] a|image::apache_kafka_logo.png[width=80%,link=https://kafka.apache.org] -|icon:check[role=green] https://edgent.apache.org[Apache Edgent™ (Incubating)] |icon:check[role=green] https://camel.apache.org[Apache Camel™] |icon:check[role=green] https://kafka.apache.org[Apache Kafka™] +|icon:check[role=green] https://edgent.apache.org[Apache Edgent™] |icon:check[role=green] https://camel.apache.org[Apache Camel™] |icon:check[role=green] https://kafka.apache.org[Apache Kafka™] a|image::apache_nifi_logo.svg[width=80%,link=https://nifi.apache.org] a|image::apache_brooklyn_logo.png[width=80%,link=https://brooklyn.apache.org] a|image::apache_mynewt_logo.png[width=80%,link=https://mynewt.apache.org] |icon:wrench[role=yellow] https://nifi.apache.org[Apache Nifi™] |icon:pause-circle[role=light-gray] https://brooklyn.apache.org[Apache Brooklyn™] |icon:pause-circle[role=light-gray] https://mynewt.apache.org[Apache Mynewt™] diff --git a/src/site/asciidoc/users/download.adoc b/src/site/asciidoc/users/download.adoc index bbf28c6..dff070f 100644 --- a/src/site/asciidoc/users/download.adoc +++ b/src/site/asciidoc/users/download.adoc @@ -17,7 +17,7 @@ == Download -Be sure to verify your downloads by these https://www.apache.org/info/verification[procedures] using these https://www.apache.org/dist/incubator/plc4x/KEYS[KEYS] for any Apache release. +Be sure to verify your downloads by these https://www.apache.org/info/verification[procedures] using these https://www.apache.org/dist/plc4x/KEYS[KEYS] for any Apache release. === Current Releases diff --git a/src/site/asciidoc/users/industry40.adoc b/src/site/asciidoc/users/industry40.adoc index e021f6e..e4cbecb 100644 --- a/src/site/asciidoc/users/industry40.adoc +++ b/src/site/asciidoc/users/industry40.adoc @@ -117,7 +117,7 @@ Either they are licensed with restrictive licenses such as GPL or they are dual The APIs of all drivers usually differs quite greatly from each one another. This makes it extremely difficult to create solutions that work with a variety of PLCs and protocols. -This is where `Apache PLC4X (incubating)` comes in. It is the goal of `PLC4X` to provide a suite of drivers for communicating with industrial PLCs using a variety of protocols, but with a shared API and a license model, that is suitable for creating commercial applications. +This is where `Apache PLC4X` comes in. It is the goal of `PLC4X` to provide a suite of drivers for communicating with industrial PLCs using a variety of protocols, but with a shared API and a license model, that is suitable for creating commercial applications. Hereby `PLC4X` forms the missing link between the automation and the open-source world. Making it possible to use the entire stack of open-source technologies to create a new generation of open industrial control systems. diff --git a/src/site/resources/css/site.css b/src/site/resources/css/site.css index 0063fee..537e2af 100644 --- a/src/site/resources/css/site.css +++ b/src/site/resources/css/site.css @@ -57,7 +57,9 @@ under the License. } #bannerRight > img { - width: 400px; + margin-top: 20px; + margin-left: 120px; + margin-bottom: 20px; } #apacheEvents { diff --git a/src/site/resources/images/apache_logo.png b/src/site/resources/images/apache_logo.png new file mode 100644 index 0000000..08b9d87 Binary files /dev/null and b/src/site/resources/images/apache_logo.png differ diff --git a/src/site/site.xml b/src/site/site.xml index bf9d1fa..28c0191 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -38,27 +38,20 @@ <reflowSkin> <localResources>true</localResources> <absoluteResourceURL>https://plc4x.apache.org/</absoluteResourceURL> - <titleTemplate>Apache PLC4X� (Incubating) - %2$s</titleTemplate> + <titleTemplate>Apache PLC4X� - %2$s</titleTemplate> <slogan position="bannerLeft">The industrial IoT adapter</slogan> <showApacheEvents>true</showApacheEvents> <toc>top</toc> - <bottomNav maxSpan="6"> - <!--column>reports</column--> + <bottomNav maxSpan="12"> + <column>reports</column> <column>Apache</column> <column>modules</column> <column>Protocols</column> </bottomNav> <brand> - <name>Apache PLC4X (Incubating)</name> + <name>Apache PLC4X</name> <href>https://plc4x.apache.org/</href> </brand> - <bottomDescription> - <![CDATA[ - <p id="bottomNote" style="font-size: 15px"> - Apache PLC4X is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the [...] - </p> - ]]> - </bottomDescription> <breadcrumbs>true</breadcrumbs> <highlightJs>true</highlightJs> <pages> @@ -74,15 +67,16 @@ </poweredBy> <bannerLeft> - <name>Apache PLC4X (incubating)</name> + <name>Apache PLC4X</name> <src>https://plc4x.apache.org/images/apache_plc4x_logo.png</src> <href>https://plc4x.apache.org/</href> </bannerLeft> <bannerRight> - <name>Apache Incubator</name> - <src>https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png</src> - <href>http://incubator.apache.org/</href> + <name>Apache Software Foundation</name> + <src>https://plc4x.apache.org/images/apache_logo.png</src> + <!--src>./images/apache_logo.png</src--> + <href>http://www.apache.org/</href> </bannerRight> <body>
