Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

  • I plan on using both bacnet4j and modbus4j in my application. Both of these apps have dependencies on seroUtils.jar. The version of seroUtils.jar in modbus4j is significantly larger than the version in bacnet4j.
    <li>Are they compatible?</li>
    <li>Is the plan to maintain compatibility with the two products with respect to seroUtils.jar?</li>
    <li>Is there source or javadoc available for seroUtils.jar?</li>

  • Hi Fred,

    The seroUtils package sees incremental improvements occasionally, and the changes are typically due to some need in some application. This is why you will sometimes see different versions of it around. They are generally compatible, but not guaranteed to be. For any particular situation all i can say is, try sharing the same jar file and see if it works. If not, i will do a simultaneous update of the two products with the same jar file.

    We don't make the source code available, not to be secretive or anything. Mostly it is because the code is mostly undocumented, and some of it is experimental.

  • Thanks Matthew,

    I plan on using the larger version of seroUtils.jar that is bundled with modbus4j. I'll post back if I run into an issue when I start testing bacnet.


  • @mlohbihler said:

    Hi Fred,
    We don't make the source code available

    It's a problem, because modbus4J claims to be open source, but it's tight bound with seroUtils.

    I hope seroUtils will soon be really open source, because it's a problem to develop or debug modbus4j without all sources.


  • You realize that Modbus4J doesn't have to be open source at all, right? I regret that you are having problems, but you are free to use something else if you want.

  • @mlohbihler said:

    You realize that Modbus4J doesn't have to be open source at all, right? I regret that you are having problems, but you are free to use something else if you want.

    hey friend, I'm sorry for your rage.

    in the topleft corner of this page I read "Mango OpenSource M2M"
    and at the sourceforge site in the folder where you put seroUtils.jar i found
    Version 2.1, February 1999


    so are you sure

    "that Modbus4J doesn't have to be open source at all"

    and dont forget your origin from jamod


  • I suppose you should report me as being in violation of my own license agreement.

  • @mlohbihler said:

    I suppose you should report me as being in violation of my own license agreement.

    absolutly not.

    Only I have read your sentence like:

    "And after all, Modbus4J is definitely open source. "

    so I hope (ONLY HOPE) the same policy for seroUtils.jar.

    I appreciate much your work, really, but I have to be sure of your future license policy in order to incorporate your code in my projects.

    thankyou for your patience,

  • Modbus4J is open source, as all of the sources for Modbus4J are provided. As i said, seroUtils.jar is not open source, not for any matter of secrecy, but only because there are parts of it that users will most certainly ask about that we are not prepared to support. It is, of course, Java technology, and as such resourceful users will - i'm certain - find ways to debug their code without Serotonin having to take on supporting yet another open source project. Again, if this does not suit your sense of entitlement, you have alternatives.

  • So, I suppose you won't release the modUtils.jar sources in the future.

    It's possible to buy the sources?


  • Hi,

    having a project which violates the license it uses, may render the license void - Im no legal expert, but this could happen IMHO.

    So Matthew, you can switch to a different license | open source the serotonin-utils.jar.
    Or somebody may decompile your jar for debugging reasons. I don't know if this is a violation against the license ....

    I am also not entirely satisfied with the current situation. Open source (GPL|LGPL) means you have all sources and not head into a trap, where you only have the binaries.


  • I'm not a lawyer either, but what is the difference between producing an open source Java project that requires a JVM - which is not open source - to run and one that requires another library - also not open source - to run? I believe you are mistaken.

  • My problem is, in which way do you want to get your bread and butter from this?

    I haven't seen a price tag so far. Do you want to get your revenue with commercial support, ...?

    So not to open source serutils.jar may have for some potential commercial customers the smell of a trap.
    A solution would be decompile serutils (there is no expicit license, so it is LGPL too?, but the sources are missing ;-).
    In this case decompilation should be no problem for you.

    If you plan to extensively cash money for mango, a fork of mango and bugfixing without Serotonin Inc. would be possible - this may be a solution for potential customers.

    Don't get me wrong: You need money too, but before I use this software commercially I have to be confident there is no hidden trap in the future. So a pricelist and/or a license for serutils.jar would be fine ;-)


  • The Java api are open.

    search in JAVA_HOME/

    Only the com.sun api are not open.

    If you make a program that use com.sun api you can't say it is "open" and sun alert you against this warning.

    If you write good open source code,
    as you have effectively done,
    but you link it aginst not open source code,
    without java interfaces which permit the use of the open code without the closed library,
    you destroy the advantage of the open code you wrote.

    For example I have the problem in using your code because I'm not sure I will cacth the bugs in my products if I will use your GOOD library.

    maybe, if you release the seroUtils opensource, we can help you to fix bugs or make it more documented or less sperimental.

    On the other side, if you prefer mantain the seroUtils closed, you may code the modbus4J less bound to the utils, via some padckage-interface.


  • Removed post.

  • Dear Matthew,

    I am currently using JAMOD on a CDC platform and would be interested in using Modbus4J, since this gives RTU slave capability.

    However, The seroUtils.jar is not JAVA 1.4 compatible, which is what I need for my CDC platform (which consequently fails when trying to link).

    Are you able to provide a version of the JAR file built using the JAVA compiler switches -source 1.4 and -target 1.4 ?

    If you are able to do this then I would look to generate a CDC compatible version of Modbus4J.

    Many thanks


  • Hi Richard,

    It is very likely possible to create a CDC-compatible version of seroUtils. Is this a personal project, or do you have a development budget?

  • Dear Matthew,

    This is a research project - so only a very limited budget.

    How long do you think it would take you ?

    Would it be possible for me to look at what is needed for a CDC compatible compile ? I do realise from the previous discussions in this thread that you have concerns about open sourcing SeroUtils - can this be handled some other way than global open source ?



  • Hi Richard,

    Did you already convert Modbus4J to 1.4? I recall that for the "-source 1.4" switch to work you'd need to refactor all the generics, annotations, and auto-boxing, and possibly other stuff too.

  • Dear Matthew,

    I have only identified the sections that will need to be modified (as you correctly identified this is mostly generics etc), However I have not proceeded with implementing any changes, because having a usable system is dependant on having a CDC compatible version of SeroUtils.

    Do you have a feel for how much work it would be to generate the CDC compatible version of SeroUtils ?