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

Reply via email to