Hello,
My name is Stephen Snow, and I am a Solution Provider of Industrial Automation for some customers I have. I am curently starting a project that I am hoping to sell to my customers in various forms, that will likely use the PLC4X API. I am comfortable, FWIW, with new major rev's breaking something of the legacy API to progress the project in order to bring enhancement to the capabilities. Having said this, what about taking the approach that JDK did when transitioning through Ver 8 to 13, fork the legacy source. Work on the new API with intent to achieving Ver 1.0.0 while only maintaining the legacy at Ver 0.8.0 and only minor rev's until your ready to switch. And wherever possible provide good directions on converting to the new and improved API? Then when you're confident you have the new approach hammered out sufficiently to support a change to it, then make the change. Goal oriented change management is a must I think.
Just my 2c worth.

Best regards,
Stephen


On Fri, Nov 20, 2020 at 06:32, Otto Fowler <ottobackwa...@gmail.com> wrote:
or, we can follow versioning rules and have the ‘new kafka sink’ trigger a
proper release that allows breaking backwards compatibility

From: Christofer Dutz <christofer.d...@c-ware.de <mailto:christofer.d...@c-ware.de>>
<christofer.d...@c-ware.de <mailto:christofer.d...@c-ware.de>>
Reply: dev@plc4x.apache.org <mailto:dev@plc4x.apache.org> <dev@plc4x.apache.org <mailto:dev@plc4x.apache.org>> <dev@plc4x.apache.org <mailto:dev@plc4x.apache.org>>
Date: November 20, 2020 at 06:08:51
To: dev@plc4x.apache.org <mailto:dev@plc4x.apache.org> <dev@plc4x.apache.org <mailto:dev@plc4x.apache.org>> <dev@plc4x.apache.org <mailto:dev@plc4x.apache.org>>
Subject:  [DISCUSS] How about changing the way we act on "backward
compatability"?

Hi all,

in a discussion with Ben on the Kafka Connect adapter. He was trying to stay compatible with the past in order to not break anything with existing installations. As of know I don’t know of a single usage of it anywhere.

The thing is: we developed a lot of stuff and as of now we don’t really know who is actually using what. And in the past I have seen multiple times that stuff I was thought to be used, actually couldn’t have and I was wasting my energy in keeping things compatible while it would have been
better to change them.

So how about we call out loud on all channels that we promise to pay
attention to parts we know are being used. And the only way we can know
about this, is if the companies actually tell us.

I’d even call it out as “We are working hard on reaching the version 1.0.0
and for this we might want to clean up and change a few things”.

This way we can assure we evolve the different parts as freely as possible. If someone complains that we broke something they were using, we’ve got an excuse and perhaps we’ll get more official statements about usage this way?

What do you think?

Chris

Reply via email to