martinkosch / Open62541.jl

A Julia wrapper for the open62541 open source implementation of OPC UA
MIT License
6 stars 0 forks source link

Roadmap zu Semantic Versioning #30

Closed jmaedler closed 18 hours ago

jmaedler commented 1 month ago

Hi @martinkosch, hi @thomvet,

I am currently working on a framework using OPC UA to integrate soft-controllers and ModelingToolkit.jl for virtual commissioning. Thus, I was searching for an OPC UA package in Julia and found yours. That does currently work just fine for me, but I was wondering if there is any roadmap to bring this package to semantic versioning, because we want to use it for virtual commisioning in our Start-Up on modular process plants. What else do you want to do before you start with semantic versioning? I am not very experienced in working on Github (so far), but I would try to contribute to the package. Feel free to answer here or send me a message on Discourse or an email.

Best, Jonathan

thomvet commented 1 month ago

Hi Jonathan, Thanks for your interest in this package. The good news is that we are already committed to semantic versioning, meaning that we will increase x in 0.x whenever we introduce a breaking change.

However, since we haven't really settled on the public API yet (apart from re-exporting open62541's API!), breaking changes might occur at a "frequent" pace. As long as you set appropriate compat bounds in ModelingToolkit.jl's Project.toml, we'll (probably/hopefully!) not break your stuff due to it.

I wanted to push out a new version of the package already a few weeks back (see the open PR), but I got held up at my "day job". If I were you, I would wait for that version before formally adopting it, because it's also upping the version of open62541 (the C-library) to 1.4.x, which is the current release branch. It's not too far away, because all that's left to do are doc improvements & cosmetics. I'll get it done soon.

For what it's worth, I do already use the Open62541.jl package to control devices in my lab, which is part of a pharma company's R&D. It's working well for that purpose. That said, I would, as the readme also says, not advise to use it in a production environment where a day's loss of work can mean a significant financial loss...

I'll open a separate issue about "how to contribute".

Best, Thomas

jmaedler commented 1 month ago

Hi Thomas,

thank you very much for your explanations! That helps me a lot!

For the time being, we will really only use the package for virtual commissioning. So the risk of major financial damage is quite limited for now :-D . I will continue to develop initial concepts based on the current version of the package. I'm looking forward to the new version and your issue on “how to contribute”.

Best, Jonathan

jmaedler commented 1 month ago

Ah, and the first contribution I could make from my side would be more complex tutorials (not just with default settings) for server and client configuration, etc.

jmaedler commented 3 weeks ago

Hi @thomvet, do you have any updates on PR #29 ? :-)

thomvet commented 2 weeks ago

Hi @jmaedler, Good news. I finally got around to putting some work into this. I have merged that pull request and also tried outlining how one could contribute to developing this further here: https://github.com/martinkosch/Open62541.jl/issues/32

Other ideas/directions are of course also welcome!

jmaedler commented 9 hours ago

Hi @thomvet , Thank you for the good news. I was quiet busy the past days and did not have the opportunity to look into the new version yet, but I hope I will next week! Thanks also for the information on how to contribute. Best, Jonathan