Frequently Asked Questions

Miscellaneous Questions

  1. What is the Current eBus version?

    The current eBus version is 4.4.0, released on August 12, 2017.

  2. Which Java version does eBus require?

    Java 1.8 or later is required for eBus version 4.0.0 or later.

  3. Why is .Net no longer supported?

    Due to my C# skills de-grading and dis-interest in continuing the .Net implementation.

  4. Where is the eBus documentation?

    Go here for the programmer's overview.

  5. Where is the Java documentation?

    Go here for the Javadocs. Go here to download the javadocs.

  6. From where do I download eBus?

    At http://sourceforge.net/projects/ebus/files/

  7. How is eBus licensed?

    eBus is licensed under the GNU Library or Lesser General Public License (LGPL), v. 2.1.

  8. Can eBus be used in a closed-source application?

    Yes, eBus is licensed under LGPL with a static linking exception. This license gives explicit right to link eBus with closed- and open-source applications.

  9. Can eBus be used in a commercial application?

    Yes, eBus may be used in commercial application. However, any changes to eBus source code must be submitted for public release.

  10. Can pieces of eBus code be used in a non-LGPL library or application?

    If you include any eBus code in closed source code, this code becomes a derived eBus work and must be licensed under the LGPL.

  11. Can I change the eBus license?

    No.

  12. Is eBus documentation available in PDF?

    Yes. Go here for the programmer's overview.

  13. Why does eBus default to little-ending byte ordering?

    The reason goes back to the 1980's when the microprocessor world was divided up between Intel 8086 (little-endian byte order) or the Motorola 68000 (big-endian byte order). So when transmitting binary data between the two, there needs to be agreement regarding the byte ordering. And the default byte ordering was big-endian.

    But thirty years later, Intel's little-endian microprocessors have won out and so it makes sense to transmit the binary data in the same byte order as the microprocessor.

  14. Why change eBus interface?

    Because the previous API was difficult to use and understand. EFeed was created to wrap the eBus API into a simpler API. So I then decided to make the simpler EFeed interface the eBus interface.

    Another reason is because the feed interface opens up possibilities for new features. For example, a feed which merges notification messages past, present, and future into a single stream.

Using esample

  1. How can I use my own eBus messages with the Java esample?

    This is no longer possible with eBus 3.0.0.