Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update READMEs, templates, etc... from Pivotal to VMware #682

Closed
17 tasks done
simonbasle opened this issue Mar 10, 2020 · 2 comments
Closed
17 tasks done

Update READMEs, templates, etc... from Pivotal to VMware #682

simonbasle opened this issue Mar 10, 2020 · 2 comments
Labels
area/all-projects issues that are transverse to all projects, epics

Comments

@simonbasle
Copy link
Member

simonbasle commented Mar 10, 2020

Mentions of Pivotal sponsorship in the codebase / documentation / READMEs / public facing tooling like github issue templates must now reflect the fact that that role has been taken over by VMware.

initial change (WITH START DATE MISTAKE):

these were not merged before the mistake was found, so they include correct start years:

fixup PRs for the date range:

additional projects:

@simonbasle simonbasle added the area/all-projects issues that are transverse to all projects, epics label Mar 10, 2020
@simonbasle
Copy link
Member Author

simonbasle commented Jun 23, 2021

for copyright headers, here is the guidance. each header step can be its own commit for a better reviewability:

Change the copyright to VMware and the year range

Start is maintained as is. It should ideally be the creation date of each piece of code (usually, the file). End is 2021 for now.

Replace Pivotal copyright:

Regular expression based regexp

  • from (?:Copyright.* )([0-9]{4}(?:-(?:Present|[0-9]{4}))?) Pivotal.*
  • to Copyright (c) $1 VMware Inc. or its affiliates, All Rights Reserved.

This covers corner cases where the is/isn't a (c) behind the Copyright word, detects single year, year range and year range with -Present, cover corner cases where the Pivotal attribution has not been consistent. For instance it correctly rewords and reattributes the following:

 * Copyright (c) 2018 Pivotal something.
 * Copyright (cd) 2018-Present Pivotal something
 * Copyright 2018-2020 Pivotal something.

Keep start date, update end date

  1. range case with end year
    • from (20[0-9]{2})-20[0-9]{2} VMware
    • to $1-2021 VMware
  2. range case with -Present
    • from (20[0-9]{2})-Present VMware
    • to $1-2021 VMware
  3. single year case (notice it excludes 2021 single case. also notice the space prevents matching of ranges)
    • from (2020|201[0-9]) VMware
    • to $1-2021 VMware
old method that wrongly rewrote the start year
  1. search-and-replace on all files with regexp for headers that already mention VMware (end date only)
    • from ([0-9]+)-.* VMware Inc. or its affiliates, All Rights Reserved
    • to STARTYEAR-2021 VMware Inc. or its affiliates, All Rights Reserved
  2. search-and-replace on all files with regexp for headers that still mention Pivotal (company + end date change)
    • from ([0-9]+)-.* Pivotal Software Inc, All Rights Reserved (eg. 2017-2019 or 2017-Present)
    • to STARTYEAR-2021 VMware Inc. or its affiliates, All Rights Reserved (eg. 2017-2021)

⚠️ Change STARTYEAR above with relevant start year of each project:

  • Reactor-core was started in 2011, and arguably build files in reactor/reactor would be too
  • Reactor-Addons: 2016
  • Reactor-Pool: 2018
  • Reactor-Netty: 2016
  • Reactor-Kafka: 2016
  • Reactor-Rabbitmq: 2017
  • Reactor-Kotlin-Extensions: 2019
  • Reactor (BOM): 2011

(optional) Harmonize URL indentation and trailing blank line in license header

Do a search-and-replace on all files with regexp
- ([ ]?[^ ])[ ]+https://www.apache.org (matching both # and * kind of comment blocks)
- $1   https://www.apache.org (harmonizing on 3 spaces: one for the comment block and 2 for indentation of the url, as in the ASF example)
- ⚠️ ensure there were no false positives: rollback some of the files that are obviously not reactor's (the LICENSE file at root, some Gradle files for instance, documentation files, ...)

  • Check non-java files have a blank line after the license block
  • Ensure java files have a blank line after the license block:
    • search for \*/\npackage
    • replace with */\n\npackage

Find and remove duplicated copyright headers

via terminal:

for file in ./**/*; do if [ "$(grep -s -c "Copyright" "${file}")" -gt 1 ]; then echo "${file}"; fi; done

Ensure remaining occurences of Pivotal are replaced, and that poms are up to date

Pom.xml organization should either be reactor or vmware, not Pivotal.

The developer list in pom should be updated:

  • remove any entry that isn't relevant anymore (as in: would it be okay to contact this person today about the project?)
  • update remaining entries that have a pivotal.io email

Check for corner case licenses

For instance:

  • the original author

simonbasle added a commit to reactor/reactor-core that referenced this issue Jun 24, 2021
This commit performs the same changes as in #2722, on files that were
introduced in the `main` branch (3.4.x) only.

Since the scope is far more restricted, the changes are done in a
single commit.

See reactor/reactor#682
simonbasle added a commit to reactor/reactor-core that referenced this issue Jun 28, 2021
This commit performs the same changes as in #2722, on files that were
introduced in the `main` branch (3.4.x) only.

Since the scope is far more restricted, the changes are done in a
single commit.

See reactor/reactor#682
simonbasle added a commit to reactor/reactor-addons that referenced this issue Jun 29, 2021
 - copyright header to VMware instead of Pivotal
 - update the pom content (emails, org)
 - in copyright headers, have date range harmonized on 2016-2021
 - polish copyright header: url indentation, blank line after license

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-rabbitmq that referenced this issue Jun 30, 2021
 - copyright header to VMware instead of Pivotal
 - update the README link
 - in copyright headers, have date range harmonized on 2017-2021
 - polish copyright header: url indentation, blank line after license

See reactor/reactor#682
simonbasle added a commit to reactor/reactor-kotlin-extensions that referenced this issue Jun 30, 2021
 - copyright header to VMware instead of Pivotal
 - in copyright headers, have date range harmonized on 2019-2021
 - polish copyright header: url indentation, blank line after license

The pom and README already didn't have traces of Pivotal anymore.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-core that referenced this issue Jul 1, 2021
Most files were missing the header altogether. Introduced header in
that case was manually edited to include the proper start year at which
each class was created.

reactor/util/concurrent/MpscLinkedQueue.java had a notice between the
copyright notice block and the package statement, which could get erased
by spotlessApply, so it was moved next to class javadoc.

A few changed classes here deal with deleting duplicated copyright
notice blocks.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-core that referenced this issue Jul 1, 2021
Most files were missing the header altogether. Introduced header in
that case was manually edited to include the proper start year at which
each class was created.

reactor/util/concurrent/MpscLinkedQueue.java had a notice between the
copyright notice block and the package statement, which could get erased
by spotlessApply, so it was moved next to class javadoc.

A few changed classes here deal with deleting duplicated copyright
notice blocks.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-core that referenced this issue Jul 1, 2021
Most files were missing the header altogether. Introduced header in
that case was manually edited to include the proper start year at which
each class was created.

reactor/util/concurrent/MpscLinkedQueue.java had a notice between the
copyright notice block and the package statement, which could get erased
by spotlessApply, so it was moved next to class javadoc.

A few changed classes here deal with deleting duplicated copyright
notice blocks.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-addons that referenced this issue Jul 2, 2021
This is a follow up on #258 which mistakenly harmonized all the start
dates in range to 2016. Some files have more ancient history than that,
having been transferred from older repositories.

This commit uses a mix of automation and manual process to refine the
start dates as much as possible.

As a result of automation, files that were missing the copyright notice
will have a range that reflects the git history, possibly with an end
date that is a past year.

All ranges have then been reviewed and the start year amended when it
was necessary.

This commit also manually adds copyright notices to kotlin files.

See #258.
See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-rabbitmq that referenced this issue Jul 2, 2021
This is a follow up on #161 which mistakenly harmonized all the start
dates in range to 2017. Some files have more ancient history than that,
having been transferred from older repositories. Others are more recent.

This commit manually reverts the start year part of the previous change
to refine the start dates as much as possible.

See #161.
See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-addons that referenced this issue Jul 2, 2021
This is a follow up on #258 which mistakenly harmonized all the start
dates in range to 2016. Some files have more ancient history than that,
having been transferred from older repositories.

This commit uses a mix of automation and manual process to refine the
start dates as much as possible.

As a result of automation, files that were missing the copyright notice
will have a range that reflects the git history, possibly with an end
date that is a past year (this has been fixed as a second step).

All ranges have then been reviewed and the start year amended when it
was necessary, and it was ensured that end year was also set to 2021.

This commit also manually adds copyright notices to kotlin files.

See #258.
See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-rabbitmq that referenced this issue Jul 2, 2021
This is a follow up on #161 which mistakenly harmonized all the start
dates in range to 2017. Some files have more ancient history than that,
having been transferred from older repositories. Others are more recent.

This commit manually reverts the start year part of the previous change
to refine the start dates as much as possible.

See #161.
See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-core that referenced this issue Jul 2, 2021
Most files were missing the header altogether. Introduced header in
that case was manually edited to include the proper start year at which
each class was created.

reactor/util/concurrent/MpscLinkedQueue.java had a notice between the
copyright notice block and the package statement, which could get erased
by spotlessApply, so it was moved next to class javadoc.

A few changed classes here deal with deleting duplicated copyright
notice blocks.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-kafka that referenced this issue Jul 2, 2021
 - copyright header to VMware instead of Pivotal
 - in copyright headers, have date range end on 2021
 - review the start year of files, some had start year inconsistent
   with their history or were missing the notice altogether
 - polish copyright header: url indentation, blank line after license

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-kotlin-extensions that referenced this issue Jul 2, 2021
 - copyright header to VMware instead of Pivotal
 - in copyright headers, have date range end in 2021 (start untouched)
 - ensure the start dates are consistent and reflect the date code
   was created, which implies earlier years that in git history for
   files that come from reactor-core repo
 - polish copyright header: url indentation, blank line after license

The pom and README already didn't have traces of Pivotal anymore.

See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-kafka that referenced this issue Jul 5, 2021
simonbasle added a commit that referenced this issue Jul 5, 2021
 - copyright header to VMware instead of Pivotal
 - in copyright headers, have date range end on 2021
 - polish copyright header: url indentation, blank line after license
 - fix pom: update developer list (and emails), update organization
 - remove remaining occurrences of Pivotal (eg. in README)

See #682.
simonbasle added a commit that referenced this issue Jul 5, 2021
- copyright header to VMware instead of Pivotal
 - in copyright headers, have date range end on 2021
 - polish copyright header: url indentation, blank line after license
 - fix pom: update developer list (and emails), update organization
 - remove remaining occurrences of Pivotal (eg. in README)

See #682.
simonbasle added a commit to reactor/projectreactor.io that referenced this issue Jul 6, 2021
This commit changes the copyright header from Pivotal to VMware.

It ensures that all occurrences of "Pivotal" are turned into their
VMware equivalent (notably links to eg. security policy).

It also polishes the copyright notice headers using the newly introduced
Spotless plugin as well as some manual editing:

 - format the header (blank line, url)
 - recompute the start year of the copyright notice range from git
 history for java files
 - align end year of said ranges to 2021
 - ensure headers for misc files (html, js, css) is also updated and
 formatted

 See reactor/reactor#682.
simonbasle added a commit to reactor/reactor-pool that referenced this issue Jul 6, 2021
Most fixes are from running Spotless with the recompute from history
feature. However, a few files for which the tool couldn't follow renames
have been manually amended/reverted (PoolBuilder, PoolConfig notably).

Follow-up to #141.
See reactor/reactor#682.
simonbasle added a commit to reactor/projectreactor.io that referenced this issue Jul 6, 2021
This commit changes the copyright header from Pivotal to VMware.

It ensures that all occurrences of "Pivotal" are turned into their
VMware equivalent (notably links to eg. security policy).

It also polishes the copyright notice headers using the newly introduced
Spotless plugin as well as some manual editing:

 - format the header (blank line, url)
 - recompute the start year of the copyright notice range from git
 history for java files
 - align end year of said ranges to 2021
 - ensure headers for misc files (html, js, css) is also updated and
 formatted

 See reactor/reactor#682.
simonbasle added a commit to reactor/bot that referenced this issue Jul 6, 2021
This commit adds the Spotless plugin and fixes the copyright notice
headers:

  - switch copyright from Pivotal to VMware
  - ensure the formatting is consistent, thanks to spotless
  - recompute most start years of header range from git history
  - ensure all end years are aligned to 2021

See reactor/reactor#682.
See reactor/reactor#701.
simonbasle added a commit to reactor/reactor-pool that referenced this issue Jul 6, 2021
Most fixes are from running Spotless with the recompute from history
feature. However, a few files for which the tool couldn't follow renames
have been manually amended/reverted (PoolBuilder, PoolConfig notably).

Follow-up to #141.
See reactor/reactor#682.
@simonbasle
Copy link
Member Author

this has now been released in the August 2021 release (Dysprosium-SR22, 2020.0.10)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/all-projects issues that are transverse to all projects, epics
Projects
None yet
Development

No branches or pull requests

1 participant