Menu

#6 Replace boost property tree with compact header-only dependencies

New
nobody
None
Low
Enhancement
2014-05-20
2014-05-19
Anonymous
No

Originally created by: d.ledent...@gmail.com
Originally owned by: daniele....@gmail.com

When using json configuration, Boost is needed as a dependency. That might be good for smart pointers in case of c++03, however, the whole metaprogramming magic is not needed for "simple" json or xml parsing. One could substitute the json parser for picojson (https://github.com/kazuho/picojson) and the xml parser with RapidXml (http://rapidxml.sourceforge.net), since both are very easily deployable as single-header-only libraries.

Discussion

  • Anonymous

    Anonymous - 2014-05-20

    Originally posted by: daniele....@gmail.com

    I agree: removing the boost dependency would be desirable.
    However, if we embed a single-header libray in wallaroo, we need to consider the licensing issues. While rapidxml is licensed under the BOOST LICENSE (the same of wallaroo), picojson seems to use a BSD 2-clause license: this would force wallaroo users to include the BSD license text in their documentation.
    I'd prefer to release everything under the BOOST LICENSE.
    What do you think about this issue? Do you know other json libraries I can embed in wallaroo?

    Besides, I have not yet evaluated the development effort of this replacement.
    Please note that I'm working on the attributes feature (see this wiki page: https://code.google.com/p/wallaroo/wiki/CtorParameters): this new enhancement uses xml and json parser...

    Labels: -Type-Defect -Priority-Medium Type-Enhancement Priority-Low

     
  • Anonymous

    Anonymous - 2014-05-20

    Originally posted by: daniele....@gmail.com

    (No comment was entered for this change.)

    Owner: daniele....@gmail.com

     
  • Anonymous

    Anonymous - 2014-05-20

    Originally posted by: d.ledent...@gmail.com

    Hi Daniele,

    Sure, the BSD 2-clause license would need a distribution of its copy, but I'm not sure if poses a big problem. If you know of wallaroo users who would have this problem, it would be interesting to investigate the reasons. If the problem does not exist, as in, nobody de facto has a problem with the license change, then it shouldn't matter much.

    If it still matters, one could do an adapter as you did with the smart pointers and platforms for dynamic libraries, or use another JSON library (https://github.com/search?q=header+only+json&ref=cmdform)

    I'll try to take a look at the necessary changes as well if I find time

     

Log in to post a comment.

MongoDB Logo MongoDB