Dear all, I’m not professional software developers while I develop a few Scilab modules for internal use in research organization (mostly around energy technologies and systems, at building and energy network scale), Stephane’s proposal sounds reasonable to cope with various perspectives around Scilab uses and developments: while having the year based version is nice to animate the Scilab community by raising users curiosity about new features and improvements (++, also to promote Scilab to new users and students), regarding previous Scilab developments and compatibility issues I feel it is required to keep the ‘true version‘ based on technical development requirements (++). My two cents…
David De : dev <dev-boun...@lists.scilab.org> De la part de Stephane Mottelet Envoyé : samedi 18 février 2023 16:30 À : List dedicated to the development of Scilab <dev@lists.scilab.org>; Users mailing list for Scilab <us...@lists.scilab.org> Objet : Re: [Scilab-Dev] Scilab releases schedule / End of Windows 32-bit support Hello, Please allow me to react to these answers as I feel also very concerned with this potential evolution. The year-base major number won't ease a better visibility about API changes. It will force us to systematically add a a notice saying something like : "Don't worry about the major version increase because this time there will not be any API change" or its contrary : "Unlike previous year, there will be major API changes in this new major version so you will have to upgrade your toolboxes". Moreover, the rationale about the "compatibility with other tools (Matlab, Office, Excel, ...)" has no sense because these tools are commercial and closed source software. However, I admit that having the year information can be valuable for all users as it will allow to know immediately when a given version of Scilab was released. The ideal scenario would be to use both systems: keep the usual not year-based major.minor.patch version numbering (SCI_VERSION_MAJOR, SCILAB_VERSION_MINOR,SCILAB_VERSION_MAINTENANCE in our headers) together with a release name (SCILAB_VERSION_STRING in our headers). Presently Scilab is already ready for that since we have the following different outputs, for example here with a CI (continuous integration) build: --> getversion ans = "scilab-mr3-0237210d" --> getversion("scilab") ans = 6. 1. 2. 1.677D+09 Here SCILAB_VERSION_STRING="scilab-mr3-0237210d" has been given during the CI and is completely arbitrary and not related to the second output which gives the true information about changes at the code level. Having a new release schedule half-year based is completely independent of this need of version numbering. I am fine with the fact that you may need a kind of "branding" since almost all of the developers of Scilab are employed by a private entity who "owns" at least the "Scilab" name (but a big part of Scilab code owns to individual authors) to me that's the main rationale. However you should be aware that open-source software never completely belongs to its authors but also to its numerous users. Since it beginnings Scilab had a complicated story and its governance has always been a mystery for most people using it. But in the last 5 years the huge work of promoting Scilab and keeping it alive and kicking was made by the users themselves. So, this proposed unilateral change from your (3DS employees, at least you Vincent) side and my counter-proposition is the occasion to exhibit a bit of democracy. I propose the aforementioned solution using the year-based numbering for the release name (SCILAB_VERSION_STRING) and keeping the usual numbering SCI_VERSION_MAJOR.SCILAB_VERSION_MINOR.SCILAB_VERSION_MAINTENANCE with its actual signification. Please note that yo refer to Matlab and that this software uses this dual numbering system ! Users and developers who feel concerned with this subject can express themselves in this thread. S. --- Stephane Mottelet Le 2023-02-17 18:12, COUVERT Vincent a écrit : Hi Sylvain, The semantic meaning of major/minor/patch version is kept: - Major releases may have API changes: o There may be API changes between Scilab 2023.m.p and 2024.m'.p' but it is not mandatory - Minor releases are API compatible: o Changes between Scilab 2023.m.p and Scilab 2023.m'.p' cannot be related API changes - Patches are binary compatible: o Changes between Scilab 2023.m.p and Scilab 2023.m.p' will not involve binary change. Changes on p (patch) mostly concern "hot fixes". Compatibility with other tools (Matlab, Office, Excel, ...) and even OS following the same calendar will be easier to follow and understand. This new release schedule also allows us to give a better visibility to developers/contributors in order to anticipate: - API changes, - Function deprecation, - Maintenance periods, - Scilab evolutions. From a user perspective, it will be easier to identify how up-to-date or deprecated their Scilab could be. Vincent From: dev <dev-boun...@lists.scilab.org<mailto:dev-boun...@lists.scilab.org>> On Behalf Of Sylvain Corlay Sent: Friday, February 17, 2023 4:04 PM To: List dedicated to the development of Scilab <dev@lists.scilab.org<mailto:dev@lists.scilab.org>> Subject: Re: [Scilab-Dev] Scilab releases schedule / End of Windows 32-bit support Hi Vincent, The problem with year-based versioning is that it removes any semantic meaning to minor and patch - especially with respect to relinking etc. What are the expected benefits of the proposed change ? Best, On Fri, Feb 17, 2023 at 4:01 PM COUVERT Vincent <vincent.couv...@3ds.com<mailto:vincent.couv...@3ds.com>> wrote: Hi Sylvain, Thanks for your email, we completely agree with you about the meaning and contents of major, minor and patch versions. As you say, "Major version updates may break API compatibility" but it is not mandatory for a major version. As in the past, we will try to not break compatibility between versions (whatever the version type is) but if we have to do it, we will do it in major versions (planned for October) and try to warn users asap. Best regards, Vincent From: dev <dev-boun...@lists.scilab.org<mailto:dev-boun...@lists.scilab.org>> On Behalf Of Sylvain Corlay Sent: Thursday, February 16, 2023 4:57 PM To: List dedicated to the development of Scilab <dev@lists.scilab.org<mailto:dev@lists.scilab.org>> Subject: Re: [Scilab-Dev] Scilab releases schedule / End of Windows 32-bit support Hi Vincent, Thank you for the updates and the new releases. I think that one potential issue with such a versioning scheme is the communication of backward compatibility of APIs and ABIs. A commonly accepted schemas is to have Major.major.patch schema where, 1. Patch version updates are binary compatible This means that if you built B and linked with A version M.m.x, you can install A version M.m.y with y>=x without any issue. 2. Minor version updates are API compatible This means that you can rebuild B without changing its code against the new version of A. 2. Major version updates may break API compatibility This means that you may need to update the code of B if you make use of APIs of A. Year-based versioning prevents making deductions based on the version number. While it may be possible to infer such information based on sonames, the semantics of sonames are platform dependent (incompatible between OS X and Linux), and very easy to get wrong. Conda-forge makes heavy use of the M.m.p pattern, especially in the "run_exports" mechanism which allows it to have a working rolling distribution. Best, Sylvain On Thu, Feb 16, 2023 at 4:42 PM COUVERT Vincent <vincent.couv...@3ds.com<mailto:vincent.couv...@3ds.com>> wrote: Hi all, Scilab operational team and contributors are working hard on next release of Scilab that will be available in the next weeks. In the future, we will follow a new 6-month release schedule and use a new release numbering system X.Y.Z based on years: - 2023.0.0 very soon (as we did not release a version in October 2022) - 2023.1.0 in May 2023 - 2024.0.0 in October 2023 - 2024.1.0 in May 2024 - And so on... Minor versions will be released as needed between these planned versions and will only contain "hot fixes" with no new features, no function prototype change, ... Releasing Scilab X.2.Z will probably never happen but remains possible. Since we no more have hardware resources to validate it, we will not release a 32-bit version of future Scilab releases for Windows (Linux 32-bit versions are no more available since Scilab 6.0.0). Best regards, Scilab operational team This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer https://www.3ds.com/privacy-policy/contact/ _______________________________________________ dev mailing list dev@lists.scilab.org<mailto:dev@lists.scilab.org> https://lists.scilab.org/mailman/listinfo/dev This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer https://www.3ds.com/privacy-policy/contact/ _______________________________________________ dev mailing list dev@lists.scilab.org<mailto:dev@lists.scilab.org> https://lists.scilab.org/mailman/listinfo/dev This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer https://www.3ds.com/privacy-policy/contact/ _______________________________________________ dev mailing list dev@lists.scilab.org<mailto:dev@lists.scilab.org> https://lists.scilab.org/mailman/listinfo/dev This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer https://www.3ds.com/privacy-policy/contact/ This email and any attachments are intended solely for the use of the individual or entity to whom it is addressed and may be confidential and/or privileged. If you are not one of the named recipients or have received this email in error, (i) you should not read, disclose, or copy it, (ii) please notify sender of your receipt by reply email and delete this email and all attachments, (iii) Dassault Systèmes does not accept or assume any liability or responsibility for any use of or reliance on this email. Please be informed that your personal data are processed according to our data privacy policy as described on our website. Should you have any questions related to personal data protection, please contact 3DS Data Protection Officer https://www.3ds.com/privacy-policy/contact/
_______________________________________________ dev mailing list dev@lists.scilab.org https://lists.scilab.org/mailman/listinfo/dev