So, I'm sure everyone saw the news about Matrix 5 coming soon, and one thing that caught my eye was the announcement of access to repository changing to Git.
Now the following statement on Squiz Labs reads as if its going to get lot more difficult for individuals and open source community to get the Matrix 5 releases.
Squiz Matrix code access changes.
With the release of Matrix 5, Squiz is changing the way we distribute access to our code versioning system.
Currently, Squiz Matrix code is available through our public CVS repository. From the release of Matrix 5, access to the Matrix code from version 5.0.0 and up will now only be accessible via Git to Squiz Plus clients or through a Squiz Connect Partnership.
I think with this change of access to the distributed code to only Squiz plus client and connect partners - the use of the words 'open source' is a bit grey.
By definition; 'open source' is software that is made freely available and can be redistributed and modified.
How is matrix 5 code freely available, if you can only get access to it by paying money?
Open source, in the classical sense, means that the source code is freely and publicly available to anyone who wishes to do so. In order to gain an Open Source License, a developer also has to adhere to strict standards as outlined by the Open Source Initiative. So, in layman's terms, OSS is software that is free to download and modify to suit your needs. Proprietary software (such as Microsoft) usually has expensive licensing fees and a multitude of restrictions that must be complied with. Plus, they'll never even give you a peek at their source code.
I think with this change of access to the distributed code to only Squiz plus client and connect partners - the use of the words 'open source' is a bit grey.
By definition; 'open source' is software that is made freely available and can be redistributed and modified.
How is matrix 5 code freely available, if you can only get access to it by paying money?
Also, can it be redistributed in a free way?
We have never stated that you will have to pay any money to get access to the code. Being a Squiz Plus client simply means you get access to all our modified versions of the code and versioning system automatically without having to go through a partnership agreement. Again, you DON'T have to pay any money to be a Squiz Partner. For all of our Squiz clients that do Matrix projects with us, we will continue to provide the software to them for free, like we always have.
You will also still be able to redistribute and modify it in any way you want.
Like I said in my previous comment, we will continue to release VM downloads of each minor version on the Manuals website just like we do now and the source code there will be completely accessible and not compiled.
We will try and publish more information on the partnership program as soon as we have it ready which should hopefully clear up any confusions about that aspect as well.
Like I said in my previous comment, we will continue to release VM downloads of each minor version on the Manuals website just like we do now and the source code there will be completely accessible and not compiled.
I absolutely do not want to get into the middle of this debate. I just wanted to point out that it looks like the VM download on the manuals site is still for 4.18.0.
...we will continue to release VM downloads of each minor version on the Manuals website...
It's probably worth noting that "minor" releases, despite the name, are the ones that contain new features. The bug fix releases are the "micro" and "patch" releases. So each time new features are added to Matrix, the VM download will be updated. But if you want access to all the latest bug fixes without having to wait for the next minor release, you'll need Plus or Partner access.
So you release something and if it contains bugs than Squiz won't let the user install the latest version if they are not on the Connect / Partner scheme?
It's probably worth noting that "minor" releases, despite the name, are the ones that contain new features. The bug fix releases are the "micro" and "patch" releases. So each time new features are added to Matrix, the VM download will be updated. But if you want access to all the latest bug fixes without having to wait for the next minor release, you'll need Plus or Partner access.
Yeah, my mistake. I was thinking Bart was referring to the micro version.
So you release something and if it contains bugs than Squiz won't let the user install the latest version if they are not on the Connect / Partner scheme?
It's more like: the release schedule is changing.
Matrix releases are going to come out less frequently. Bart can confirm, but I think it is around every 3 months, although they can come out earlier if there is a feature we really want to get out there.
But if you are a Squiz Plus customer, you have an SLA, 24x7 support etc and so internal Matrix releases with minor bug fixes will be coming out using those other version numbers (micro and patch). There is no actual need for a Squiz client to upgrade because these release will never contain features, but the releases are still being done (perhaps weekly at times) so that Squiz can ensure clients are not on "patched versions" (e.g., 5.1 with 2 custom patches) but instead are on an official patch release (e.g. 5.1.2) that is properly tested and has a clear upgrade and downgrade path.
I hope that explains things a bit more; the motivation being that we need to change our release cycle to better meet the needs of Squiz clients. If you are a Squiz client, I encourage you to contact your account manager because there are also new systems in place that will help you take advantage of those new patch versions and make upgrading a lot easier.
Thanks Greg, and yes, we are planning on releasing Minor (feature) versions with a 3 month minimum interval to more effectively release new features and have more time to user test them and iron out any early bugs as much as possible. We also have some more information on how the version releases are changing for Matrix 5 in this weeks newsletter (publishing tomorrow due to Good Friday public holiday) and what each version number means.
So you release something and if it contains bugs than Squiz won't let the user install the latest version if they are not on the Connect / Partner scheme?
Anyone can install any version of Matrix. We're not going to prevent anyone from doing what they already can with the code, none of that is changing.
We've had the public CVS repository open for a long time now, over 10 years I believe. And in all that time, we've had very little code contributions coming in from the developer community. This is mainly because the Matrix code community is very small. Continuing to keep the versioning system public is actually an overhead for us as there is a management aspect that comes with it. If there is no return on this investment, then it doesn't make sense for us to keep going down that path. We much rather invest in the systems and the people that want to actively contribute to the software and reward them for it as well.
There is also a security aspect and risk that comes with our current model that we are addressing with this change. By not publicly exposing every single bug fix and security patch that we apply, we are making it harder for attackers to know about these potential exploits to vulnerable sites. At the moment, we don't have the resources or benefits to continue to manage this on a public level.
If you still have questions or concerns regarding this change, I'm happy for you to contact me directly via bbanda@squiz.com.au to discuss further.
We are trying to as open and honest about this as possible.
I should also say that we have made sure that any changes we are doing are still following the GPL licence terms and conditions to ensure the product is still open source.
I understand the reasoning behind the changes but I just want to know if we can still install and run Matrix (not a virtual machine) after version 5 using CVS repository or Git without any prerequisite from Squiz?
We've had the public CVS repository open for a long time now, over 10 years I believe. And in all that time, we've had very little code contributions coming in from the developer community.
That was contributed by Nic Hubbard and was a great addition, it is part of the core code of Matrix and will continue to be. I never said "no" code contributions have been made.