Matrix 5 and GIT


(Tbaatar) #1

Hi,

 

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.

 

 

is it true? and is this the end of open source?


(Bart Banda) #2

Hi tbaatar,

No, it is not the end of Open Source, Matrix will continue to be released under the GPL licence.

 

However the access to the code version system is changing and will be restricted for versions of 5 and up. 

 

Hope that helps. more information around this will be posted soon and I will link to it here in the forums as well.

 

By the way, public VM downloads on the Manuals website will continue to be published for each Minor version. 

 

Cheers,

Bart


(Tbaatar) #3

Thanks for the reply Bart.

 

I hope the version 5 is as easy to access as the current repository. 


(Aleks Bochniak) #4

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?


(Tbaatar) #5

Yep, totally agree with Aleks.

 

Straight from the horses mouth:

 

The best things in life are free

 

  What is open source?

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.


(Bart Banda) #6

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. 

 

Matrix has and will continue to be released under version 2 of the GNU General Public Licence which is an open source licence.  

 

Hope that clarifies it a bit more. 

 

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.


(Nic Hubbard) #7

 

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.


(Bart Banda) #8

 

I just wanted to point out that it looks like the VM download on the manuals site is still for 4.18.0.

 

Correct, which is the latest and last Minor release available in Matrix 4.

 

5.0.0 will be the next Major and Minor one and will be uploaded on release day. 


(Greg Sherwood) #9

...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.


(Tom Chadwin) #10

Perhaps, as well as clarifying what the new arrangement will be, an explanation for the change might help us to understand why this is happening.

 

Thanks

 

Tom


(Tbaatar) #11

All sounds bit wishy-washy to me.

 

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?

 

Really?


(Nic Hubbard) #12

  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.


(Greg Sherwood) #13

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.


(Bart Banda) #14

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. 


(Bart Banda) #15

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. 


(Tbaatar) #16

Thanks for the clarification Greg and Bart.

 

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?

 

Simple YES or NO.


(Bart Banda) #17

Yes.


(Duncan Robertson) #18

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's not entirely accurate or fair. 


(Tom Chadwin) #19

How about the JS API?


(Bart Banda) #20

How about the JS API?

 

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.