FAQ
Accordingly to apache legal, we can use JSON on our codebase, however
other projects may be unable to redistribute your code if you use this
license because of the:

"The Software shall be used for Good, not Evil."

(http://www.apache.org/legal/resolved.html#json)


So, Fedora guys are asking us to replace this on Artemis.
(https://issues.apache.org/jira/browse/ARTEMIS-565)





I looked at HBase and they have been through the same path apparently,
where they replaced it by
https://code.google.com/archive/p/json-simple/




More fun reading at: https://issues.apache.org/jira/browse/ARTEMIS-565



Any volunteer to make the change? :)



--
Clebert Suconic

Search Discussions

  • John D. Ament at Jun 14, 2016 at 9:30 pm
    Clebert,

    Would you be interested in an impl based on the JSON-P spec? If so maybe
    Johnzon would be a solution here.

    John
    On Tue, Jun 14, 2016 at 5:21 PM Clebert Suconic wrote:

    Accordingly to apache legal, we can use JSON on our codebase, however
    other projects may be unable to redistribute your code if you use this
    license because of the:

    "The Software shall be used for Good, not Evil."

    (http://www.apache.org/legal/resolved.html#json)


    So, Fedora guys are asking us to replace this on Artemis.
    (https://issues.apache.org/jira/browse/ARTEMIS-565)





    I looked at HBase and they have been through the same path apparently,
    where they replaced it by
    https://code.google.com/archive/p/json-simple/




    More fun reading at: https://issues.apache.org/jira/browse/ARTEMIS-565



    Any volunteer to make the change? :)



    --
    Clebert Suconic
  • Clebert Suconic at Jun 14, 2016 at 10:41 pm
    I was just reading about it.

    The only requirement I see is not to break the API contract on management.

    Most of the JSON we have is for management responses, where we return
    objects as JSON Arrays or JSON Objects.

    Apparently using JSONP would change the responses we have on management?

    Changing this to JSON-P would apparently mean we have to add a
    function name to the return?

    i.e... say... getConnectionsAsJSON currently returns this on the MBean Console:

    [{"creationTime":1465943892043,"connectionID":"-1350038013","clientAddress":"/127.0.0.1:64627"},{"creationTime":1465943895399,"connectionID":"1668184153","clientAddress":"/127.0.0.1:64628"}]



    apparently it would start to return something with a function name:
    that is: getConnectionsAsJSON([......])


    Which would be an incompatible change for a point release.


    If we can use the library you mentioned but keeping the same output
    through management without breaking a contract like this, it would be
    fine.


    How do you see it?
    On Tue, Jun 14, 2016 at 5:30 PM, John D. Ament wrote:
    Clebert,

    Would you be interested in an impl based on the JSON-P spec? If so maybe
    Johnzon would be a solution here.

    John
    On Tue, Jun 14, 2016 at 5:21 PM Clebert Suconic wrote:

    Accordingly to apache legal, we can use JSON on our codebase, however
    other projects may be unable to redistribute your code if you use this
    license because of the:

    "The Software shall be used for Good, not Evil."

    (http://www.apache.org/legal/resolved.html#json)


    So, Fedora guys are asking us to replace this on Artemis.
    (https://issues.apache.org/jira/browse/ARTEMIS-565)





    I looked at HBase and they have been through the same path apparently,
    where they replaced it by
    https://code.google.com/archive/p/json-simple/




    More fun reading at: https://issues.apache.org/jira/browse/ARTEMIS-565



    Any volunteer to make the change? :)



    --
    Clebert Suconic


    --
    Clebert Suconic
  • Clebert Suconic at Jun 15, 2016 at 4:25 pm
    I looked at what would need to be done if we were going the
    google-simple JSON approach.


    The API is fairly simpler, it has no support for getString methods,
    instead everything is a get() and you need to use casting to the
    object.

    Example:


    String value = (String)jsonObject.get("value");


    Instead of


    String value = jsonObject.getString("value");


    Besides this we will need to add the new jar to the distribution and
    OSGI. It's a fairly simple change.. just needs to make a few api
    changes and stuff like that.. it's not that bad.


    @John: did you have experience with this other package you mentioned?






    Clebert


    PS: Any time I say *we* on my emails, I mean as in Apache ActiveMQ..
    meaning We as in the developers. If i was talking about the company I
    work for or any third party i would write it in the third person.


    On Tue, Jun 14, 2016 at 6:41 PM, Clebert Suconic
    wrote:
    I was just reading about it.

    The only requirement I see is not to break the API contract on management.

    Most of the JSON we have is for management responses, where we return
    objects as JSON Arrays or JSON Objects.

    Apparently using JSONP would change the responses we have on management?

    Changing this to JSON-P would apparently mean we have to add a
    function name to the return?

    i.e... say... getConnectionsAsJSON currently returns this on the MBean Console:

    [{"creationTime":1465943892043,"connectionID":"-1350038013","clientAddress":"/127.0.0.1:64627"},{"creationTime":1465943895399,"connectionID":"1668184153","clientAddress":"/127.0.0.1:64628"}]



    apparently it would start to return something with a function name:
    that is: getConnectionsAsJSON([......])


    Which would be an incompatible change for a point release.


    If we can use the library you mentioned but keeping the same output
    through management without breaking a contract like this, it would be
    fine.


    How do you see it?
    On Tue, Jun 14, 2016 at 5:30 PM, John D. Ament wrote:
    Clebert,

    Would you be interested in an impl based on the JSON-P spec? If so maybe
    Johnzon would be a solution here.

    John

    On Tue, Jun 14, 2016 at 5:21 PM Clebert Suconic <clebert.suconic@gmail.com>
    wrote:
    Accordingly to apache legal, we can use JSON on our codebase, however
    other projects may be unable to redistribute your code if you use this
    license because of the:

    "The Software shall be used for Good, not Evil."

    (http://www.apache.org/legal/resolved.html#json)


    So, Fedora guys are asking us to replace this on Artemis.
    (https://issues.apache.org/jira/browse/ARTEMIS-565)





    I looked at HBase and they have been through the same path apparently,
    where they replaced it by
    https://code.google.com/archive/p/json-simple/




    More fun reading at: https://issues.apache.org/jira/browse/ARTEMIS-565



    Any volunteer to make the change? :)



    --
    Clebert Suconic


    --
    Clebert Suconic


    --
    Clebert Suconic

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdev @
categoriesactivemq
postedJun 14, '16 at 9:21p
activeJun 15, '16 at 4:25p
posts4
users2
websiteactivemq.apache.org

2 users in discussion

Clebert Suconic: 3 posts John D. Ament: 1 post

People

Translate

site design / logo © 2018 Grokbase