50

I read the original text of Apache License, Version 2.0 and the explanation in plain English.

OK, I copy a class distributed by The Best Company in the World, their license, and modify the code a bit.

The original file with my changes.

/*
 * Copyright (C) 2011 The Best Company in the World
 * 
 * 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.
 */

package com.mypackage;

public class MyClass {

    private void someMethod() {
        // Their code
        // My little change
    }
}

Then I use MyClass in my application.

  1. Do I need to replace The Best Company in the World with the name of my company or with my own name? If not, will my project contain two licenses: theirs and mine? Where to save them in this case?
  2. And as far as I understand, I must distribute my application using Apache Licence, Version 2.0.

Wikipedia says:

The Apache License is widely, but not universally, considered permissive in that it does not require a derivative work of the software, or modifications to the original, to be distributed using the same license (unlike copyleft licenses – see comparison).

1 Answer 1

53

Section 4 of the Apache License 2.0 is quite clear on what you must do when you distribute the changed file:

  • You must not remove the existing copyright claim (the one by 'the Best Company in the World')
  • You must make it clear the the file has been changed. The easiest way is to simply add your copyright after the original ones:

    Modifications copyright (C) 2013 <your company/name>
    

    If you did the modifications on behalf of your company, then that is in most cases also the name that you must put on the copyright notice

  • You may choose to use a different copyright license for your modifications. However, it is very uncommon for a single file to have multiple portions for which different copyright licenses apply and I doubt that the legal aspects of that have been tested in court, so I would advise against it.

If you don't distribute the modifications (or not outside your company), you don't have to do anything. Copyright licenses only come into play when distributing a program/library.

4
  • Does "may choose different license" means that the derivative work can be entirely of opposite to that of open source? Like a proprietary or something more strict.
    – Talha
    Jan 10, 2017 at 11:38
  • 4
    @Talha: The derived work can indeed use a closed-source license, as long as the other requirements of the Apache license are met (such as informing your users that parts of the software are licensed under the Apache license). There is certainly no requirement to disclose the code you have written yourself. Jan 10, 2017 at 11:48
  • If you don't distribute the modifications (or not outside your company), you don't have to do anything. Does this encompass binary distributions made from the source code or just the source code itself? May 8, 2020 at 7:30
  • @DaedalusAlpha, when you distribute the binaries, you have to do so by the rules of the applicable copyright licenses. May 8, 2020 at 9:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.