commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [lang] Thread safety annotations
Date Tue, 29 Nov 2016 21:33:28 GMT
On Tue, Nov 29, 2016 at 1:12 PM, Oliver Heger <oliver.heger@oliver-heger.de>
wrote:

>
>
> Am 28.11.2016 um 22:28 schrieb Gary Gregory:
> > WRT licensing, I re-implemented the annotations in git master. Notice
> that
> > all Javadocs are different and much simpler for now. Feel free to write
> > more.
>
> As the length of this thread shows, using annotations for the purpose of
> documenting thread-safety can be a controversial topic.
>

How is the length of a thread a reflection of its controversy?


> I do not see the advantage over a plain text documentation in Javadoc.
> Written text can even be more comprehensive.
>

One does not exclude the other. Annotations are easy to search. Text in
Javadoc is subject to typos and formatting oddities that makes it much
harder to search.

Tools can work with annotations.


>
> The risk that the documentation goes out of sync with the implementation
> is given in both scenarios. But if a class announced as thread-safe is
> manipulated in a way that it is no longer thread-safe, I would consider
> this as a bug. This is also a kind of backwards-incompatible change.
>

That has nothing to do with annotations. If we change behavior in some
incompatible way, that's the bug.

I can interpret what you wrote as: If I remove an @Override annotation,
then that is backwards-incompatible change. That sounds extreme.

I do not think we have talked about annotations in the context of backwards
compatibility. Does this deserve a separate discussion?

a third penny,
Gary


>
> My 2 cents
> Oliver
>
> >
> > Gary
> >
> > On Mon, Nov 28, 2016 at 12:55 PM, Gary Gregory <garydgregory@gmail.com>
> > wrote:
> >
> >> On Mon, Nov 28, 2016 at 12:18 PM, Matt Benson <gudnabrsam@gmail.com>
> >> wrote:
> >>
> >>> I hoped to stay out of this. :) Points:
> >>>
> >>> * "provided" scope is another Maven mechanism that compiles against a
> >>> given dependency but does not pull the dependency in as a runtime
> >>> dependency. I personally prefer it to marking a dependency optional.
> >>> * For annotations with only classfile retention, a future package
> >>> rename e.g. lang4 would not require a consumer to upgrade just for the
> >>> renamed annotation, though nothing would stop them from doing so. A
> >>> given project could depend on either or both of lang3 and lang4 in any
> >>> combination of compile-only or runtime-inclusive scope with no
> >>> problems.
> >>> * A standalone annotations component might be interesting, but I'm not
> >>> sure if the proposed annotations constitute a critical mass adequate
> >>> to justify it.
> >>>
> >>
> >> I would have a hard time justifying a commons-lang3-annotations module
> >> with only these 4 annotations.
> >>
> >> I could see having a Commons Annotations component though which for good
> >> or bad would hold all annotations one could imagine having the Commons
> >> world. Hm... it smells a bit though...
> >>
> >> Gary
> >>
> >>
> >>>
> >>> Matt
> >>>
> >>> On Mon, Nov 28, 2016 at 1:21 PM, Pascal Schumacher
> >>> <pascalschumacher@gmx.net> wrote:
> >>>> Groovy had to change the license of its documentation from CC-A 3.0
to
> >>> the
> >>>> Apache License during incubation:
> >>>>
> >>>> https://issues.apache.org/jira/browse/LEGAL-167
> >>>> http://markmail.org/message/2e7tehlwtpx625q4
> >>>> https://issues.apache.org/jira/browse/GROOVY-7470
> >>>>
> >>>> So I guess Commons is probably not allowed to use these files.
> >>>>
> >>>>
> >>>> Am 28.11.2016 um 18:58 schrieb Gary Gregory:
> >>>>>
> >>>>> On Mon, Nov 28, 2016 at 7:15 AM, Jochen Wiedmann
> >>>>> <jochen.wiedmann@gmail.com>
> >>>>> wrote:
> >>>>>
> >>>>>> On Mon, Nov 28, 2016 at 4:06 PM, sebb <sebbaz@gmail.com>
wrote:
> >>>>>>
> >>>>>>> The code would not run without the JCIP jar.
> >>>>>>
> >>>>>> Are there licensing issues regarding that jar?
> >>>>>>
> >>>>> Hm, according to https://www.apache.org/legal/resolved.html, the
> >>> license
> >>>>> "Creative Commons Attribution (CC-A) 2.5" is discussed in the section
> >>> "HOW
> >>>>> SHOULD "WEAK COPYLEFT" LICENSES BE HANDLED?"
> >>>>>
> >>>>> It looks like we might have an issue but this is not clear to me
as
> >>> IANAL.
> >>>>> I you look at the license summary
> >>>>> https://creativecommons.org/licenses/by/2.5/ it sure seems OK, but
> our
> >>>>> resolved.html has this license on a list of licenses to watch out
> for.
> >>>>>
> >>>>> So to be on the safe side, how do we best re-implement these? The
> >>>>> annotation names we can keep as is but I would imagine that we'd
want
> >>> to
> >>>>> re-write the Javadoc from scratch.
> >>>>>
> >>>>> Thoughts?
> >>>>>
> >>>>> Gary
> >>>>>
> >>>>>
> >>>>>> Jochen
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> The next time you hear: "Don't reinvent the wheel!"
> >>>>>>
> >>>>>> http://www.keystonedevelopment.co.uk/wp-content/uploads/2014/10/
> >>>>>> evolution-of-the-wheel-300x85.jpg
> >>>>>>
> >>>>>> ------------------------------------------------------------
> ---------
> >>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>
> >>>
> >>
> >>
> >> --
> >> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> >> Java Persistence with Hibernate, Second Edition
> >> <https://www.amazon.com/gp/product/1617290459/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&
> linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1617290459>
> >> JUnit in Action, Second Edition
> >> <https://www.amazon.com/gp/product/1935182021/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&
> linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22
> >
> >>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182021>
> >> Spring Batch in Action
> >> <https://www.amazon.com/gp/product/1935182951/ref=as_li_
> tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&
> linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%
> 7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
> >> <http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=
> 1935182951>
> >> Blog: http://garygregory.wordpress.com
> >> Home: http://garygregory.com/
> >> Tweet! http://twitter.com/GaryGregory
> >>
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>


-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message