long-term availability

Dear all,

we are currently evaluating Tango Controls as SCADA tool for our Test & Measurement devices in an industrial environment. Tango Controls meets a lot of our technical requirements with an excellent fitting domain model and high performance.
However, one of our MUST requirements is long-term availability. Since it uses omniORB, which is AFAIK maintained by one single person (please correct me if I am wrong), omniORB seems to be a single point of failure.

Can maybe someone tell me,
if there are backup plans in the Tango community in case omniORB is no more maintained?

Thanks a lot,
Dear Christoph,

We fully understand that the long-term support of omniORB might be a concern. It's legitimate for a newcomer to think twice before betting on a frozen standard - i.e. CORBA - implemented by a single man company. However, here are some arguments that could reassure you that Tango is a viable choice for a new project.

  1. To some extent, the fact that CORBA is a frozen standard can be seen as an advantage. There's notably no need to follow/support any evolution of the associated specifications. All we need is already there, and we only need to make sure that we are still able to compile the (omniORB) libraries on the most recent OSes version with the most recent compilers version. Getting rid of CORBA is a recurrent discussion we have in the community. Let's say that it's no longer considered as a priority but as a long-term goal which requires to abstract the communication details - i.e., to hide CORBA behind a new API.
  2. The core members of the Tango community support the omniORB project (financially speaking). We notably have a commercial support contract with ApaSphere Ltd - the company ran by Duncan Grisby, the original omniORB author.
  3. omniORB is huge and serious piece of software written in C++. However, it implements nothing but a TCP/IP-based protocol that we could maintain on our own in case ApaSphere Ltd would decide to stop providing support. Once more, everything we need is already there/implemented.
  4. omniORB is still widely used. Duncan recently confirmed that a lot of projects rely on omniORB.
  5. Tango itself is a critical project for major research institutes. The Tango steering committee gathers 11 institutes which daily activity relies on Tango. We invite you to have a look to our home page (https://www.tango-controls.org) to get an idea of who is developing and supporting Tango.
  6. SKAO, one of the major scientific projects under development, chose Tango as the core technology for its control system. We are actually very proud of that.
  7. Tango is under constant evolution and maintenance. We offer both LTS support for some versions (currently 9.3) and new features. We recently had a meeting defining the roadmap for the upcoming years. Believe me, we are going to deliver amazing features.
We would be pleased to know more about your project. Don't hesitate to contact us at (andy<DOT>gotz<AT>esrf<DOT>fr) or (nicolas<DOT>leclercq<AT>esrf<DOT>fr).

Kind regards,
Edited 3 months ago
BTW, the 37th Tango Community meeting will be hosted as an hybrid meeting by SKAO on the 27-29 June 2023. We warmly invite you to join us. The Tango gurus will be there and would be happy to answer any question you would have regarding any aspect of our project. See the indico page for details.
Hi Cristoph,
the SKA telescopes are expected to operate for at least 50 years, and we've selected TANGO as our controls framework.
This comes with a commitment to the open source community collaborating to the evolution and maintenance of this software ecosystem. We acknowledged, as you did, the risk related to CORBA, and Nicolas recapped some of the main reasons why we believe this is currently under control.
On this journey we are also prepared to support the evolution of the controls framework and evaluate possibilities to abstract from the specific CORBA implementation.
As Nicolas already said, you're very welcome to join us in the next TANGO meeting to understand more.

Edited 3 months ago
Hi Christoph,

as Marco and Nicolas have already stated we are fully committed to long term availability as many site depend on Tango and/or have recently updated their control systems to adopt Tango for existing or new large experimental facilities. A good example is the ESRF-EBS where Nicolas and I work, but also MAX-IV, SKA and others. Other facilities which are still in the planning phases like upgrades to ELETTRA, PETRA, ALBA and SOLEIL will use Tango. Our user base needs long term availability so you would not be alone.

The choice of CORBA is historical and omniORB especially works very well This is one of the reasons why replacing is not the highest priority task we have. Over the last few years we have worked mostly on providing Long Term Support (LTS) versions to maintain Tango with bug fixes for sites already running Tango. If ever the availability of CORBA becomes an issue (which is not the case today as explained by Nicolas) before we have made it optional we have foreseen to integrate it as part of the Tango stack. But while it is being maintained by one of the original authors there is no advantage to do so because it would mean losing the support of the omniORB developer and community.

If you are evaluating Tango for your use then you should be looking at the Tango Device Model concept and all the tools developed on top of this. If you find the Device model fits your needs then Tango could be a good choice. Even if Tango depends on CORBA it successfully hides this as much as possible and has developed all its own services on top so that it only depends on the IIOP protocol and some features of the object model of CORBA.

We would be happy to schedule a call with you if you want more information before making a decision.
Register or login to create to post a reply.