A Question about Copyright Law

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

···

---------- Forwarded message ----------
From: Hieu Dang Duy hieu.hispvietnam@gmail.com

Date: 2009/10/5
Subject: A Question about Copyright Law
To: Lars Helge Øverland larshelge@gmail.com

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/
public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java

···


Brajesh

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**__

  • @author

__* @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think this will be a good solution…like this…

/**

  • @author

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$
    */
    public abstract class MYCLASS
    implements Action
    {…}

But needs more discussion…

···

2009/10/5 Brajesh Murari brajesh2murari@gmail.com

Brajesh

Sent from Delhi, India

Hi

We are mixing two related but not the same issues.

The issue of copyright relates to the bit where you copy the ABC class rather than who you put as @author. Copyright is actually a bundle of rights, including amongst others the right to modify, copy, use etc. By default the copyright holder has exclusive rights to this bundle. Whether you are allowed to do any or all of the above things is determined by the copyright licence. Different licences unbundle different rights and with different conditions.

I don’t think the case you describe is necessarily related to copyright. I think we are assuming that you have the right to do what you need to do and it seems your question is more one of attribution. If you are copying a class over which you have not been granted licence that is a different issue.

I think Lars’ suggestion is absolutely the correct one. If you want to use the class with its content absolutely unmodified then the preamble (the @author and @version tags) should be left as it is. Otherwise extending the class is almost always the best solution. If you feel yourself doing much copying and pasting you should start to feel a little voice in your head saying that you are probably doing the wrong thing.

Regards
Bob

···

2009/10/5 Brajesh Murari brajesh2murari@gmail.com

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/

public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java


Brajesh


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Dear all,

We are mixing two related but not the same issues.

To avoid the mixing of copyright issue that why I thought I should have the question as a above one.

I don’t think the case you describe is necessarily related to copyright. I think we are assuming that you have the right to do what you need to do and it seems your question is more one of attribution. If you are copying a class over which you have not been granted licence that is a different issue.

Bob, thanks for your advice! I think we should not worry about the granted licence here because the example above file as ABC.java, which is a presenting file, was created by my colleagues. And then I just copied or make a clone of it to modify the new one it as my way.

I thought all of you would have a question for me is that “Why have you to do that ?”

It is very simple to answer this question. Because I have a reason for explanation with follow:

I did not extend the original file to inherit its properties or methods because the original file can not resolve absolutely my problem as same as the cloned one - which has been modified following my way - though they are the same of structure and meaning.

We could understand and image like the way of somehow saying about “The FORM was not changed but The CONTENT should have changed”.

I think Lars’ suggestion is absolutely the correct one. If you want to use the class with its content absolutely unmodified then the preamble (the @author and @version tags) should be left as it is. Otherwise extending the class is almost always the best solution. If you feel yourself doing much copying and pasting you should start to feel a little voice in your head saying that you are probably doing the wrong thing.

So, I am still not clearly understand about the @author and @version tags in this case.

Whose name should I set to @author tag is my full name or the holder’s name ? And how about the @version tag ?

Regards
Bob

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/

public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java


Brajesh


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Thanks to all guys !

···

2009/10/5 Brajesh Murari brajesh2murari@gmail.com


Hieu.HISPVietnam
Good Health !

Hi Hieu

After thinking about your problem some more I think we do have a style issue to sort out. Whereas @author and @version tags have some generally understood meaning the reality is that the actual meaning of them (and others like @since) is an in-house style decision.

There’s an interesting general discussion of javadoc tags here:
http://mindprod.com/jgloss/javadoc.html#TAGS

From the DHIS2 perspective, the guidelines we have for style are here (http://208.76.222.114/confluence/display/DOC/Code+Conventions#CodeConventions-Authorandversioninformation) which states that the following:

–snip-begin–
Add the following before the first class/interface declaration in every file, using your own name. Also, make sure you enable the $Id$ keyword in Subversion.

/**
 * @author Example User
 * @version $Id$
 */

--snip-end--

We do need to rethink this a little. @author is clear enough - it refers to the original creator of the file. The $Id$ tag is meant to be expanded to potentially useful version information using version control systems like CVS and Subversion. See http://208.76.222.114/confluence/display/DOC/Subversion+configuration#Subversionconfiguration-keywords to see what subversion does with the tag when configured to do so.

Also see for example our own javadoc. Here’s a file documented by Lars:
http://hispkerala.org/dhis2/apidocs/2.0.2/org/hisp/dhis/dataelement/DataElement.html

You can see has used $Id$ and subversion has expanded it to:
$Id: DataElement.java 5540 2008-08-19 10:47:07Z larshelg $

But we are not using subversion. We are using bazaar. And svn:keyword expansion is not supported by default. And in fact by design if you read http://jam-bazaar.blogspot.com/2008/07/last-week-in-bazaar.html. There has been some plugin written for keyword expansion on bazaar but I don’t know much about it. There are strong views against it in the bazaar community.

So we need to decide ourselves on what “best practice” to adopt and update our style guide. Jo, this sounds like something you would have an opinion on. Bearing in mind that the javadoc is for users of the class - it is not a version control system. We already have that developer information elsewhere (bzr log). And I am sure Saptarshi has an opinion which I can almost guess from here …

But going back to your original question of what to do with your new class with:
__/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */__

I think I can now give you an answer. On @author you, as the creator of the new file+class, should put your name (that is assuming that you have the right to do so, but we’ve been through that - in dhis2 code you would have a copyright notice further up in a comment anyway). And for @version you should just have “@version $Id$” until we revise our style guidelines. You definitely don’t want to be manually hacking the $Id$ expansion. And we should revise our style guidelines. Or decide to use bazaar to somehow expand the tags.

And all of the above is assuming that it really doesn’t make sense to reuse the existing class in some way. And I am not yet convinced without seeing the classes that if there is a familiarity in form, there isn’t some relationship to make. Even if it means refactoring both.

Regards
Bob

···

2009/10/5 Hieu Dang Duy hieu.hispvietnam@gmail.com

Dear all,

We are mixing two related but not the same issues.

To avoid the mixing of copyright issue that why I thought I should have the question as a above one.

I don’t think the case you describe is necessarily related to copyright. I think we are assuming that you have the right to do what you need to do and it seems your question is more one of attribution. If you are copying a class over which you have not been granted licence that is a different issue.

Bob, thanks for your advice! I think we should not worry about the granted licence here because the example above file as ABC.java, which is a presenting file, was created by my colleagues. And then I just copied or make a clone of it to modify the new one it as my way.

I thought all of you would have a question for me is that “Why have you to do that ?”

It is very simple to answer this question. Because I have a reason for explanation with follow:

I did not extend the original file to inherit its properties or methods because the original file can not resolve absolutely my problem as same as the cloned one - which has been modified following my way - though they are the same of structure and meaning.

We could understand and image like the way of somehow saying about “The FORM was not changed but The CONTENT should have changed”.

I think Lars’ suggestion is absolutely the correct one. If you want to use the class with its content absolutely unmodified then the preamble (the @author and @version tags) should be left as it is. Otherwise extending the class is almost always the best solution. If you feel yourself doing much copying and pasting you should start to feel a little voice in your head saying that you are probably doing the wrong thing.

So, I am still not clearly understand about the @author and @version tags in this case.

Whose name should I set to @author tag is my full name or the holder’s name ? And how about the @version tag ?

Regards
Bob

2009/10/5 Brajesh Murari brajesh2murari@gmail.com

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/

public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java


Brajesh


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp

Thanks to all guys !


Hieu.HISPVietnam
Good Health !

**Dear Bob,

···

**
On Tue, Oct 6, 2009 at 8:46 AM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Hi Hieu

After thinking about your problem some more I think we do have a style issue to sort out. Whereas @author and @version tags have some generally understood meaning the reality is that the actual meaning of them (and others like @since) is an in-house style decision.

There’s an interesting general discussion of javadoc tags here:
http://mindprod.com/jgloss/javadoc.html#TAGS

From the DHIS2 perspective, the guidelines we have for style are here (http://208.76.222.114/confluence/display/DOC/Code+Conventions#CodeConventions-Authorandversioninformation) which states that the following:

–snip-begin–
Add the following before the first class/interface declaration in every file, using your own name. Also, make sure you enable the $Id$ keyword in Subversion.

/**
 * @author Example User
 * @version $Id$
 */

--snip-end--

We do need to rethink this a little. @author is clear enough - it refers to the original creator of the file. The $Id$ tag is meant to be expanded to potentially useful version information using version control systems like CVS and Subversion. See http://208.76.222.114/confluence/display/DOC/Subversion+configuration#Subversionconfiguration-keywords to see what subversion does with the tag when configured to do so.

Also see for example our own javadoc. Here’s a file documented by Lars:
http://hispkerala.org/dhis2/apidocs/2.0.2/org/hisp/dhis/dataelement/DataElement.html

You can see has used $Id$ and subversion has expanded it to:
$Id: DataElement.java 5540 2008-08-19 10:47:07Z larshelg $

But we are not using subversion. We are using bazaar. And svn:keyword expansion is not supported by default. And in fact by design if you read http://jam-bazaar.blogspot.com/2008/07/last-week-in-bazaar.html. There has been some plugin written for keyword expansion on bazaar but I don’t know much about it. There are strong views against it in the bazaar community.

It is really interesting in your reference documents. A good way which to be improved my own knowledge on this sense issue.

So we need to decide ourselves on what “best practice” to adopt and update our style guide. Jo, this sounds like something you would have an opinion on. Bearing in mind that the javadoc is for users of the class - it is not a version control system. We already have that developer information elsewhere (bzr log). And I am sure Saptarshi has an opinion which I can almost guess from here …

But going back to your original question of what to do with your new class with:

__/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */__

I think I can now give you an answer. On @author you, as the creator of the new file+class, should put your name (that is assuming that you have the right to do so, but we’ve been through that - in dhis2 code you would have a copyright notice further up in a comment anyway). And for @version you should just have “@version $Id$” until we revise our style guidelines. You definitely don’t want to be manually hacking the $Id$ expansion. And we should revise our style guidelines. Or decide to use bazaar to somehow expand the tags.

Somehow in my mind I think I knew what I should do a little thing in my case.

And all of the above is assuming that it really doesn’t make sense to reuse the existing class in some way. And I am not yet convinced without seeing the classes that if there is a familiarity in form, there isn’t some relationship to make. Even if it means refactoring both.

Regards
Bob

Really thank to all guys !


Hieu.HISPVietnam
Good Health !

Hi Bob,

Hi

We are mixing two related but not the same issues.

The issue of copyright relates to the bit where you copy the ABC class rather than who you put as @author. Copyright is actually a bundle of rights, including amongst others the right to modify, copy, use etc. By default the copyright holder has exclusive rights to this bundle. Whether you are allowed to do any or all of the above things is determined by the copyright licence. Different licences unbundle different rights and with different conditions.

I don’t think the case you describe is necessarily related to copyright. I think we are assuming that you have the right to do what you need to do and it seems your question is more one of attribution. If you are copying a class over which you have not been granted licence that is a different issue.

I think Lars’ suggestion is absolutely the correct one. If you want to use the class with its content absolutely unmodified then.
the preamble (the @author and @version tags) should be left as it is. Otherwise extending the class is almost always the best solution. If you feel yourself doing much copying and pasting you should start to feel a little voice in your head saying that you are probably doing the wrong thing.

If i am not wrong, then i think up to this level of discussion, Lars has not suggested any thing.

And another, if extending classes is the best solution then what about those classes who have used non access modifier like ‘final’ and someone want to modify it ? and i need suggestion if someone help me to find out specially in some special class where class have used non access modifier ‘final’, access modifier ‘public’ and its constructor is declared ‘private’ , and here some one want to modify this class for there further use. Example of such classes we can take like “public final class System extends Object”. And here what we need to do about this

@author

But i am sure and totally agree at some points like we should follow the convention what we have here on our wiki.

http://208.76.222.114/confluence/display/DOC/Code+Conventions#CodeConventions-Authorandversioninformation

but at the same time we should also try to adopt new futures in Conventions to make it more flexible if it require.

Because i think here on this above link, what we can see in conventions is necessary for the application as well as community but does we should be agree here also like “is it sufficient and final ?”

Brajesh

···

On Mon, Oct 5, 2009 at 5:24 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Regards
Bob

2009/10/5 Brajesh Murari brajesh2murari@gmail.com

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/

public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java


Brajesh


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


Brajesh

Hi Bob,

Hi

We are mixing two related but not the same issues.

The issue of copyright relates to the bit where you copy the ABC class rather than who you put as @author. Copyright is actually a bundle of rights, including amongst others the right to modify, copy, use etc. By default the copyright holder has exclusive rights to this bundle. Whether you are allowed to do any or all of the above things is determined by the copyright licence. Different licences unbundle different rights and with different conditions.

I don’t think the case you describe is necessarily related to copyright. I think we are assuming that you have the right to do what you need to do and it seems your question is more one of attribution. If you are copying a class over which you have not been granted licence that is a different issue.

I think Lars’ suggestion is absolutely the correct one. If you want to use the class with its content absolutely unmodified then.
the preamble (the @author and @version tags) should be left as it is. Otherwise extending the class is almost always the best solution. If you feel yourself doing much copying and pasting you should start to feel a little voice in your head saying that you are probably doing the wrong thing.

If i am not wrong, then i think up to this level of discussion, Lars has not suggested any thing.

Lars is smart. He’ll say something when he’s ready :slight_smile:

And another, if extending classes is the best solution

Its not always the best solution. But its always better than copying and pasting. Sometimes it might make better sense for A to have-a B than for A to be-a B.

then what about those classes who have used non access modifier like ‘final’ and someone want to modify it ? and i need suggestion if someone help me to find out specially in some special class where class have used non access modifier ‘final’, access modifier ‘public’ and its constructor is declared ‘private’ , and here some one want to modify this class for there further use. Example of such classes we can take like “public final class System extends Object”.

There is quite some religious debate about the merits of implementation inheritance vs interface, and the constriction which “final” creates. The reasons given for using final generally relate to security, efficiency and “better” API design (predictability) and testability. (Having private constructors is more than preventing inheritance - it is usually used to create singleton objects or other static factory-method generated objects or classes which cannot be instantiated at all). So there is no instance of System class - you can’t extend it and you can’t create it.

That was the designer’s intent and the language simply allows him to express that. The System class sits right at the interface between the object oriented virtual machine and the non-object oriented operating system process context beneath it so you can expect it to be not quite “normal”. Personally I don’t like the way System is implemented but thats an opinion. Given the language constructs availiable its a valid design choice.

But maybe to get to your initial question - if the class is final then its final and you can’t inherit. No matter how much you think its the right thing to do. Though there are other ways to reuse than to inherit - for example to compose.

And here what we need to do about this

@author

But i am sure and totally agree at some points like we should follow the convention what we have here on our wiki.

http://208.76.222.114/confluence/display/DOC/Code+Conventions#CodeConventions-Authorandversioninformation

but at the same time we should also try to adopt new futures in Conventions to make it more flexible if it require.

Because i think here on this above link, what we can see in conventions is necessary for the application as well as community but does we should be agree here also like “is it sufficient and final ?”

:slight_smile: There is no “final” on the style conventions. But they shouldn’t change too often. And until they do we best follow the convention so that code loks like all the rest. Then when we fix it we can fix in one go. Lars, what do you want to see in the comment tags?

Cheers
Bob

···

2009/10/6 Brajesh Murari brajesh2murari@gmail.com

On Mon, Oct 5, 2009 at 5:24 PM, Bob Jolliffe bobjolliffe@gmail.com wrote:

Brajesh

Regards
Bob

2009/10/5 Brajesh Murari brajesh2murari@gmail.com

I have just got a mall question about the issue of Copyright

If someone created a class ABC.java and then I copied it to another one (MYCLASS.java) after that modifying anything without changing the structure and meaning of the original file.

So, what should I do with in the copyright line ?

For example:

__/**

  • @author
  • @version $Id: ABC.java 2009-09-18 17:20:00Z hieuduy$

*/
public abstract class MYCLASS
implements Action
{…}__

Is it right, Lars ? Or I __must change like this:

/**

  • @author Dang Duy Hieu

  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$
    */
    public abstract class MYCLASS
    implements Action
    {…}

__Thank you so much !–
Hieu.HISPVietnam
Good Health !

I think it will be a better solution and good design pattern approach to use OOPS concept ie. Inheritance, specially if we make a subclass MYCLASS.java of class ABC.java rather then copying every thing from to ABC.java to MYCLASS.java. And this way we can handle copyright issue like this …

/**

  • @author Dang Duy Hieu
  • @version $Id: ABC.java 2009-09-18 17:20:00Z someone$

*/

public abstract class MYCLASS extends ABC
implements Action
{…}

This is one way to solve the issue but if ABC.java is final then …no body can extend class ABC.java


Brajesh


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


Brajesh

In the cases where you want to modify an existing class from a different author I believe appending another author tag with your own name would be appropriate.

Re the @id attribute, if Bazaar does not support/advocate it lets remove it. Its just a convenience tag anyway which info can be derived from bzr log.

Lars