Skip to content

Replace BSD 2-Clause License with BSD + Patent License with SPDX-License-Identifier (Bugzilla Bug 1373) #7666

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

Closed
tianocore-issues opened this issue Dec 2, 2018 · 10 comments

Comments

@tianocore-issues
Copy link
Collaborator

This issue was created automatically with bugzilla2github

Bugzilla Bug 1373

Date: 2018-12-02T18:45:40+00:00
From: @mdkinney
To: @mdkinney
CC: @ajfish, @lersek, @leiflindholm, @cetola, yonghong.zhu

Depends on: #1653
Blocker for: #1654, #1655, #1656, #1681
See also: https://bugzilla.tianocore.org/show_bug.cgi?id=2834
Last updated: 2020-07-03T12:21:41+00:00

@tianocore-issues
Copy link
Collaborator Author

Comment 5730

Date: 2018-12-02 18:45:40 +0000
From: @mdkinney

  • Industry Specification: ---
  • Release Observed: EDK II Master
  • Releases to Fix: EDK II Master
  • Target OS: ---
  • Bugzilla Assignee(s): @mdkinney

Replace BSD 2-clause License with Apache 2.0 License.

This change is based on the following email:

https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFC with detailed process for the license change:

https://lists.01.org/pipermail/edk2-devel/2018-November/033336.html

Sample license text to add with SPDX-License-Identifier statement

SPDX-License-Identifier: Apache-2.0

Licensed 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.

A file can not be changed to Apache 2.0 until all copyright holders
have agreed to the change. This bug can be referenced from all
patches associated with the license change and will be closed once
all license changes have been completed.

@tianocore-issues
Copy link
Collaborator Author

Comment 5770

Date: 2018-12-06 19:12:27 +0000
From: Yonghong Zhu <<yonghong.zhu>>

Bug scrub: Assign to module owner

@tianocore-issues
Copy link
Collaborator Author

Comment 6623

Date: 2019-03-05 17:07:27 +0000
From: @mdkinney

This RFC follows up on the proposal from Mark Doran to change the
EDK II Project to a BSD+Patent License.

https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html

The review period for this license change is 30 days. If there is no
unresolved feedback on April 9, 2019, then commits of the license change
patches will begin on April 9, 2019.

** Please provide feedback on the proposal by Monday April 8, 2019. **

Feedback can be sent to [email protected], the EDK II community
manager or any of the EDK II stewards.

The goal is to convert all of the files in the edk2 repository that are
currently covered by the BSD 2-Clause License and the TianoCore
Contribution Agreement to a BSD+Patent License.

I will be following up with pointers to public GitHub branches that
contain the set of changes to the edk2 repository for review.

The proposal is to perform this change to edk2/master in the steps listed
below. The license change will not be applied to any of the other existing
branches in the edk2 repository.

  1. Add a License-History.txt file to the root of the edk2 repository that
    contains the BSD 2-Clause License and the TianoCore Contribution
    Agreement along with the details on the license change to BSD+Patent.

  2. Change all files currently covered by a BSD 2-Clause license and the
    TianoCore Contribution Agreement to a BSD+Patent license and add an
    SPDX-License-Identifier statement. The link to the BSD+Patent license
    and the text for file headers is listed below.

    https://opensource.org/licenses/BSDplusPatent

    ======================================================================
    SPDX-License-Identifier: BSD-2-Clause-Patent

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.

    Subject to the terms and conditions of this license, each copyright holder
    and contributor hereby grants to those receiving rights under this license
    a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    (except for failure to satisfy the conditions of this license) patent
    license to make, have made, use, offer to sell, sell, import, and otherwise
    transfer this software, where such license applies only to those patent
    claims, already acquired or hereafter acquired, licensable by such copyright
    holder or contributor that are necessarily infringed by:

    (a) their Contribution(s) (the licensed copyrights of copyright holders and
    non-copyrightable additions of contributors, in source or binary form)
    alone; or

    (b) combination of their Contribution(s) with the work of authorship to
    which such Contribution(s) was added by such copyright holder or
    contributor, if, at the time the Contribution is added, such addition
    causes such combination to be necessarily infringed. The patent license
    shall not apply to any other combinations which include the
    Contribution.

    Except as expressly stated above, no rights or licenses from any copyright
    holder or contributor is granted under this license, whether expressly, by
    implication, estoppel or otherwise.

    DISCLAIMER

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.

  3. Update Readme.md and License.txt in the root of the edk2 repository to
    state that content is covered by a BSD+Patent license. Also state that
    BSD+Patent is the preferred license for the EDK II project.

  4. Remove the Contributions.txt file in the root of the edk2 repository
    That contiants the TianoCore Contribution Agreement.

  5. Update all documentation to state that content submitted under the
    BSD+Patent license no longer requires the Tianocore Contribution
    Agreement which means the following line is not required in commit
    messages for changes to files that are covered by a BSD+Patent.

    Contributed-under: TianoCore Contribution Agreement 1.1
    
  6. Create Wiki page(s) that provide the details of the BSD+Patent License
    change and provide the status of the license change for each TianoCore
    repository and package.

Once the conversion of the edk2 repository is complete, work will begin
on the other repositories in the TianoCore project.

@tianocore-issues
Copy link
Collaborator Author

Comment 6709

Date: 2019-03-13 13:11:53 +0000
From: @mdkinney

Changes for V2

This RFC follows up on the proposal from Mark Doran to change the
EDK II Project to a BSD+Patent License.

https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html

The review period for this license change is 30 days. If there is no
unresolved feedback on April 9, 2019, then commits of the license change
patches will begin on April 9, 2019.

** Please provide feedback on the proposal by Monday April 8, 2019. **

Feedback can be sent to [email protected], the EDK II community
manager or any of the EDK II stewards.

The goal is to convert all of the files in the edk2 repository that are
currently covered by the 2-Clause BSD License and the TianoCore
Contribution Agreement to a BSD+Patent License.

I will be following up with pointers to public GitHub branches that
contain the set of changes to the edk2 repository for review.

The proposal is to perform this change to edk2/master in the steps listed
below. The license change will not be applied to any of the other existing
branches in the edk2 repository.

  1. Add a License-History.txt file to the root of the edk2 repository that
    contains the 2-Clause BSD License and the TianoCore Contribution
    Agreement along with the details on the change to the BSD+Patent License.

  2. Change License.txt in the root of the edk2 repository from a 2-Clause
    BSD License to the BSD+Patent License. The following is the link to the
    BSD+Patent License and the new License.txt file contents.

    https://opensource.org/licenses/BSDplusPatent

    ======================================================================
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.

    Subject to the terms and conditions of this license, each copyright holder
    and contributor hereby grants to those receiving rights under this license
    a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    (except for failure to satisfy the conditions of this license) patent
    license to make, have made, use, offer to sell, sell, import, and otherwise
    transfer this software, where such license applies only to those patent
    claims, already acquired or hereafter acquired, licensable by such copyright
    holder or contributor that are necessarily infringed by:

    (a) their Contribution(s) (the licensed copyrights of copyright holders and
    non-copyrightable additions of contributors, in source or binary form)
    alone; or

    (b) combination of their Contribution(s) with the work of authorship to
    which such Contribution(s) was added by such copyright holder or
    contributor, if, at the time the Contribution is added, such addition
    causes such combination to be necessarily infringed. The patent license
    shall not apply to any other combinations which include the
    Contribution.

    Except as expressly stated above, no rights or licenses from any copyright
    holder or contributor is granted under this license, whether expressly, by
    implication, estoppel or otherwise.

    DISCLAIMER

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.

  3. Change all files currently covered by a 2-Clause BSD License and the
    TianoCore Contribution Agreement to a BSD+Patent License using the
    following SPDX-License-Identifier statement:

    SPDX-License-Identifier: BSD-2-Clause-Patent
    

    The use of SPDX-License-Identifier statement is based on the following:

     https://01.org/blogs/jc415/2018/open-source-hacks-one-question-interviews-open-source-experts-how-use-spdx-headers
    
  4. Update Readme.md in the root of the edk2 repository to state that content
    is covered by a BSD+Patent License. Also state that the BSD+Patent License
    is the preferred license for the EDK II project.

  5. Remove the Contributions.txt file from the root of the edk2 repository
    that contains the TianoCore Contribution Agreement.

  6. Update all documentation to state that content submitted under the
    BSD+Patent License no longer requires the Tianocore Contribution
    Agreement which means the following line is not required in commit
    messages for changes to files that are covered by a BSD+Patent License.

    Contributed-under: TianoCore Contribution Agreement 1.1
    
  7. Create Wiki page(s) that provide the details of the BSD+Patent License
    change and provides the status of the license change for each TianoCore
    repository and package.

Once the conversion of the edk2 repository is complete, work will begin
on the other repositories in the TianoCore project.

@tianocore-issues
Copy link
Collaborator Author

Comment 6710

Date: 2019-03-13 13:20:10 +0000
From: @mdkinney

Patch series posted for review on the following branch:

https://github.com/mdkinney/edk2/tree/Bug_1373_BsdPatentLicense

The patch series has one patch per package along with a couple patches
to update the license information in the root of the edk2 repository
as described in the RFC V2.

84141ea edk2: Remove Contributions.txt and update Readme.md
93b121e StdLibPrivateInternalFiles: Replace BSD License with BSD+Patent License
91a1d41 StdLib: Replace BSD License with BSD+Patent License
a71c378 AppPkg: Replace BSD License with BSD+Patent License
4eb2592 Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
7b719f9 Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
1472567 UefiCpuPkg: Replace BSD License with BSD+Patent License
3001241 StandaloneMmPkg: Replace BSD License with BSD+Patent License
e5dddf6 SourceLevelDebugPkg: Replace BSD License with BSD+Patent License
e83800c SignedCapsulePkg: Replace BSD License with BSD+Patent License
3a58ac5 ShellPkg: Replace BSD License with BSD+Patent License
b16c29f ShellBinPkg: Replace BSD License with BSD+Patent License
bf4838b SecurityPkg: Replace BSD License with BSD+Patent License
2da66fa QuarkSocPkg: Replace BSD License with BSD+Patent License
f52f862 QuarkPlatformPkg: Replace BSD License with BSD+Patent License
571f6e2 PcAtChipsetPkg: Replace BSD License with BSD+Patent License
837a342 OvmfPkg: Replace BSD License with BSD+Patent License
d548789 OptionRomPkg: Replace BSD License with BSD+Patent License
88cbe4e Omap35xxPkg: Replace BSD License with BSD+Patent License
452a4e5 Nt32Pkg: Replace BSD License with BSD+Patent License
41704de NetworkPkg: Replace BSD License with BSD+Patent License
0771661 MdePkg: Replace BSD License with BSD+Patent License
bfd7b0e MdeModulePkg: Replace BSD License with BSD+Patent License
9d991b5 IntelSiliconPkg: Replace BSD License with BSD+Patent License
6c2833f IntelFspWrapperPkg: Replace BSD License with BSD+Patent License
c679ff1 IntelFspPkg: Replace BSD License with BSD+Patent License
8623e16 IntelFsp2WrapperPkg: Replace BSD License with BSD+Patent License
40e4b29 IntelFsp2Pkg: Replace BSD License with BSD+Patent License
36ea637 IntelFrameworkPkg: Replace BSD License with BSD+Patent License
0c6f14f IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
79ea5a2 FmpDevicePkg: Replace BSD License with BSD+Patent License
a8e09bb FatPkg: Replace BSD License with BSD+Patent License
81322a8 EmulatorPkg: Replace BSD License with BSD+Patent License
88e68e0 EmbeddedPkg: Replace BSD License with BSD+Patent License
c317699 EdkCompatibilityPkg: Replace BSD License with BSD+Patent License
06bca42 DynamicTablesPkg: Replace BSD License with BSD+Patent License
5bdb990 CryptoPkg: Replace BSD License with BSD+Patent License
40472d5 CorebootPayloadPkg: Replace BSD License with BSD+Patent License
a87f66c CorebootModulePkg: Replace BSD License with BSD+Patent License
18a4805 BeagleBoardPkg: Replace BSD License with BSD+Patent License
908d82c ArmVirtPkg: Replace BSD License with BSD+Patent License
4eb0a6b ArmPlatformPkg: Replace BSD License with BSD+Patent License
a376999 ArmPkg: Replace BSD License with BSD+Patent License
20b7685 BaseTools: Replace BSD License with BSD+Patent License
15cfa51 edk2: Replace BSD License with BSD+Patent License
75c4e96 edk2: Change License.txt from 2-Clause BSD to BSD+Patent
1daf0f1 edk2: Add License-History.txt

@tianocore-issues
Copy link
Collaborator Author

Comment 6715

Date: 2019-03-14 06:58:54 +0000
From: @lersek

[edk2] PATCH] Change EDK II to BSD+Patent License
https://lists.01.org/pipermail/edk2-devel/2019-March/037741.html
http://mid.mail-archive.com/E92EE9817A31E24EB0585FDF735412F5B9C6850A@ORSMSX112.amr.corp.intel.com

@tianocore-issues
Copy link
Collaborator Author

Comment 6795

Date: 2019-03-20 22:55:41 +0000
From: Yonghong Zhu <<yonghong.zhu>>

Per edk2-stable201905 planning to add the deadline info.

@tianocore-issues
Copy link
Collaborator Author

@tianocore-issues
Copy link
Collaborator Author

Comment 6994

Date: 2019-04-03 19:51:11 +0000
From: @mdkinney

New in V3

  • Update the base of the patch series from edk2-stable201903 to
    7ed7212 that is after the file add/remove freeze:

    https://lists.01.org/pipermail/edk2-devel/2019-April/038574.html

  • Replace copyright line in License.txt in root with a single copyright
    for "TianoCore and contributors".

  • Clarify commit message for changes to License.txt to state the text
    differences are larger than expected due to differences in line breaks.

  • There is one less patch in the series than V2 due to the retirement
    of the EdkCompatibilityPkg.

  • The git feature "git range-diff" can be used to compare the V2 and
    V3 branches even though they have different bases. If you have both
    the V2 and V3 branches in your local repo, you can use the following
    command to see the changes. Most are due to the removal of .S files
    in March. If you pipe through grep looking for "diff --git" you will
    see the list of files with differences.

    git range-diff edk2-stable201903..Bug_1373_BsdPatentLicense_V2 7ed7212..Bug_1373_BsdPatentLicense_V3

New in V2

  • Remove Cc lines from commit messages
  • Remove branch reference from commit messages
  • Change license in 2 files missed in OvmfPkg
  • Update OvmfPkg/License.txt to BSD+Patent as the default license
  • Move the portions of Contributions.txt in the root of edk2 to
    Readme.md in the root of edk2 that describe how to contribute
    along with the commit message format.
  • Add to Readme.md in the root of edk2 that Signed-off-by means that
    the contributor certifies compliance to the Developer's Certificate
    of Origin 1.1. https://developercertificate.org
    =========

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1373

This change is based on the following emails:
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:
V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

I have posted the patch series for review on the following branch using
7ed7212 as the base for the patch series.

https://github.com/mdkinney/edk2/tree/Bug_1373_BsdPatentLicense_V3

The commits in patch series can be viewed here:

https://github.com/mdkinney/edk2/commits/Bug_1373_BsdPatentLicense_V3

The patch series has one patch per package along with a few patches
to update the license information in the root of the edk2 repository
as described in the RFC V3.

Due to the size of the patch series, I prefer to not send the
patch emails. Instead, please perform code reviews using content
from the branch.

All EDK II package maintainers and package reviewers should provide
review feedback for their packages. The critical part of the review
is:

  1. Any changes that cause build breaks or logic changes. These code
    changes are intended to only modify license contents in comment
    blocks.
  2. Any file that has been changed to BSD+Patent, but should remain
    with the current license.
  3. Any file that that has not changed to BSD+Patent, but should be
    changed to BSD+Patent.

Feedback and Reviewed-by emails should identify the patch the feedback
applies using the patch summary listed below. The goal is to complete
all reviews to support the commit of these patches on April 9, 2019.

eece5f8 edk2: Remove Contributions.txt and update Readme.md
224dce1 OvmfPkg: Change License.txt from 2-Clause BSD to BSD+Patent
f3cbc2f StdLibPrivateInternalFiles: Replace BSD License with BSD+Patent License
845b945 StdLib: Replace BSD License with BSD+Patent License
e55c853 AppPkg: Replace BSD License with BSD+Patent License
a6df2af Vlv2TbltDevicePkg: Replace BSD License with BSD+Patent License
6360b3f Vlv2DeviceRefCodePkg: Replace BSD License with BSD+Patent License
a67328c UefiCpuPkg: Replace BSD License with BSD+Patent License
248d91c StandaloneMmPkg: Replace BSD License with BSD+Patent License
4159273 SourceLevelDebugPkg: Replace BSD License with BSD+Patent License
4cd6c3f SignedCapsulePkg: Replace BSD License with BSD+Patent License
9ffa494 ShellPkg: Replace BSD License with BSD+Patent License
fdb6510 ShellBinPkg: Replace BSD License with BSD+Patent License
dc5f8d9 SecurityPkg: Replace BSD License with BSD+Patent License
841d42a QuarkSocPkg: Replace BSD License with BSD+Patent License
75c3756 QuarkPlatformPkg: Replace BSD License with BSD+Patent License
657491e PcAtChipsetPkg: Replace BSD License with BSD+Patent License
4ac6872 OvmfPkg: Replace BSD License with BSD+Patent License
521b813 OptionRomPkg: Replace BSD License with BSD+Patent License
ec339f8 Omap35xxPkg: Replace BSD License with BSD+Patent License
ad1bf1a Nt32Pkg: Replace BSD License with BSD+Patent License
aa99b9a NetworkPkg: Replace BSD License with BSD+Patent License
88bdc98 MdePkg: Replace BSD License with BSD+Patent License
5628b5e MdeModulePkg: Replace BSD License with BSD+Patent License
505e368 IntelSiliconPkg: Replace BSD License with BSD+Patent License
e1fecb9 IntelFspWrapperPkg: Replace BSD License with BSD+Patent License
d7347d7 IntelFspPkg: Replace BSD License with BSD+Patent License
487741d IntelFsp2WrapperPkg: Replace BSD License with BSD+Patent License
0e8d264 IntelFsp2Pkg: Replace BSD License with BSD+Patent License
f4835e9 IntelFrameworkPkg: Replace BSD License with BSD+Patent License
d9af7c1 IntelFrameworkModulePkg: Replace BSD License with BSD+Patent License
5a3c8a1 FmpDevicePkg: Replace BSD License with BSD+Patent License
87d9ee3 FatPkg: Replace BSD License with BSD+Patent License
f336d7d EmulatorPkg: Replace BSD License with BSD+Patent License
5ea93a6 EmbeddedPkg: Replace BSD License with BSD+Patent License
2afa7c0 DynamicTablesPkg: Replace BSD License with BSD+Patent License
4768af6 CryptoPkg: Replace BSD License with BSD+Patent License
9aecbee CorebootPayloadPkg: Replace BSD License with BSD+Patent License
e771645 CorebootModulePkg: Replace BSD License with BSD+Patent License
04fb04e BeagleBoardPkg: Replace BSD License with BSD+Patent License
c910bd4 ArmVirtPkg: Replace BSD License with BSD+Patent License
6f98d2f ArmPlatformPkg: Replace BSD License with BSD+Patent License
1ce858b ArmPkg: Replace BSD License with BSD+Patent License
0fb7bd5 BaseTools: Replace BSD License with BSD+Patent License
bc61733 edk2: Replace BSD License with BSD+Patent License
8ee83c5 edk2: Change License.txt from 2-Clause BSD to BSD+Patent
17a3309 edk2: Add License-History.txt

@tianocore-issues
Copy link
Collaborator Author

Comment 7046

Date: 2019-04-09 14:36:31 +0000
From: @mdkinney

The patch series has been pushed as f8113e2..3806e1f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment