Matrix 5 and GIT


(Tom Chadwin) #21

So the bug tracker is going, too.


(Tbaatar) #22

Hi Bart,

 

When can we expect the public repository to be available for Matrix 5 now that it is released? 

 

 

 

Thanks


(Bart Banda) #23

Hi Bart,

 

When can we expect the public repository to be available for Matrix 5 now that it is released? 

 

 

 

Thanks

 

The public downloadable VM of Matrix 5 was put up late last week and can be accessed from the Matrix manuals website as per normal: http://manuals.matrix.squizsuite.net/evaluate-squiz-matrix 

 

The public repo of Matrix 4 is still available from CVS as per normal.

 

If you would like access to the Git repo for Matrix 5, just shoot me an email and we can organise it for you that way. 

 

We are still working on the contact form to put on the manuals to make this process easier.


(Chris Horikx) #24

And in all that time, we've had very little code contributions coming in from the developer community. 

 

I believe Squiz would have had more submissions if they had made it easy to add on features with a plugin functionality. 

 

I am a private contractor (though previous Squiz employee) and many times, at and away from Squiz, I have thought about writing plugins for Squiz Matrix, but the thought of the time to get it through Squiz, getting it allowed to be installed, then having it installed by Squiz only in a dev version of Matrix then if its OK, the next production release makes me dizzy! It could take 6 months (in the old product release cycle) to have any development completed and installed for a client! And then the client wouldn't install it because it was an x.0 which would be 'too risky'. If there was a way for someone to go online and download plugins for matrix they need, like a 'person asset' or a 'calendar search plugin' there would be heaps of neat little fixes made by people all over the world. 

 

If Squiz didn't need to be step_02'd and step_03'd everytime something changed, it would be easy to provide instantly available plugins. That install process was always weird to me

 

The ultimate would be a Squiz Matrix app store so long as it was open to all to contribute. 


(Nic Hubbard) #25

I have thought about writing plugins for Squiz Matrix, but the thought of the time to get it through Squiz, getting it allowed to be installed, then having it installed by Squiz only in a dev version of Matrix then if its OK, the next production release makes me dizzy! It could take 6 months (in the old product release cycle) to have any development completed and installed for a client! 

 

Having developed a number of Core Assets and features as well as the first two versions of the JS API I don't necessarily agree with this. In my experience Squiz was more than happy to accept code submissions. The team was super grateful and always nice and helpful. They tested and released my code/assets quite quickly. Most often in the next version of Matrix. There was even a few times I got updates in just days before a release.


(Chris Horikx) #26

 

Having developed a number of Core Assets and features as well as the first two versions of the JS API I don't necessarily agree with this. In my experience Squiz was more than happy to accept code submissions. The team was super grateful and always nice and helpful. They tested and released my code/assets quite quickly. Most often in the next version of Matrix. There was even a few times I got updates in just days before a release.

 

That's good to hear that they are more than happy to accept code. 

 

Though as I haven't submitted myself, I wasn't referring so much to the time taken to submit code to Squiz, but for the code to get to the client, and so the benefit of there being a way to plugin to matrix from the front end. 

 

Depending on the nature of your submission it would be scheduled for the next major or minor release. The difference between the two could be months.


(Tbaatar) #27

 

If you would like access to the Git repo for Matrix 5, just shoot me an email and we can organise it for you that way. 

 

We are still working on the contact form to put on the manuals to make this process easier.

 

Hi Bart,

 

Still waiting for your response, and also going nowhere with Squiz support even though under our SLA agreement item number. 9 Automatic Update Subscription Service = Provided for Squiz Matrix and Squiz Analytics.

 

If you require validation contact Anna (Account Manager) in UK HQ.

 

Many thanks.


(Bart Banda) #28

Sorry Tuguldur, I never saw the notification of your first message. 

 

I'll respond to your privately now. 


(Bart Banda) #29

Thanks for your inputs Chris and Nic.

 

It would be amazing to have a massive plugin library for Matrix available for use by anyone publicly. I guess one way to achieve this is to use the export and import tools available in Matrix. So you can export a piece of functionality, a set of assets that work together, into a tarball, then import that into another system. We do this sometimes internally. 

 

In terms of a feature plugin that adds functionality to the core admin interface, there is nothing stopping anyone from doing this. You could create your own asset type and allow for people to download and use and install it on their own site quite easily. I guess the challenge is that there is no streamlined or official way of installing and managing any plugins you've got through an interface, you have to dwell into the source code and maintain it that way.

 

The reason why a user contributed feature might take a while to become part of the core and into client systems, is that as soon as we accept it , we are responsible for making it work and fixing any bugs. We are off course only going to warrant stuff that we think is safe and stable for all of our clients. This process can take some time depending on the feature. 

 

The Matrix code base is quite old now and to add a new plugin manager to easier allow external plugins to be used would be a lot of effort. If the requirement of this grows and we get interest from a lot of other users wanting to do this, we would probably prioritise this idea and invest some time into developing it. 

 

Also, if a Squiz client really wants a feature urgently and the next feature version of Matrix is a long way off, there are agreements that the client and their Account manager and their Squiz production region can make to get the feature in earlier as a custom piece of code temporarily until they upgrade to the next version that has that feature in the core.

 

Hope that helps. 


(Chris Horikx) #30

 

 In terms of a feature plugin that adds functionality to the core admin interface, there is nothing stopping anyone from doing this. You could create your own asset type and allow for people to download and use and install it on their own site quite easily. I guess the challenge is that there is no streamlined or official way of installing and managing any plugins you've got through an interface, you have to dwell into the source code and maintain it that way.

 

The SLA would stop a client from doing this. I.e. a client couldn't have something installed on their system that is hosted by Squiz. This is something I understand, of course. Squiz need to warrant the integrity of the system. However there would great advantages in the ability to be able to install front end and back end functionalities so long as your core system remained intact and unaffected. Besides clients themselves, Squiz' production staff could even develop these without having to go through Squiz Labs.

 

 

The reason why a user contributed feature might take a while to become part of the core and into client systems, is that as soon as we accept it , we are responsible for making it work and fixing any bugs. We are off course only going to warrant stuff that we think is safe and stable for all of our clients. This process can take some time depending on the feature. 

 

If it were to work like any plugin / app store out there, the code would be owned and managed by the external entity that had it developed - bug fixes would be the responsibility of the owner. The listed plugin would work with all / particular versions of matrix while the entity maintained it. Squiz wouldn't need to worry about the plugins' integrity so long as it didn't affect the CMS' integrity.


(Peter Sheppard) #31

Bart - I have sent you a PM in relation to this too.


(Kequi) #32

I'm still a bit hazy on this (and can't find anything on the Squiz site about it at all).

 

It Squiz Matrix V5 available via GIT?

 

If so can you not just post some directions and stuff?

 

What's with all the cloak and dagger?

 

If it's released under GPL 2 - then you need to make it available (even if you insist on making it 'on application') - and anyone can distribute it freely once you give them a copy.

Why not just be open and make it easily available - or at the very least have a simple registration process if you're trying to capture people's details for marketing or whatever.

 

And on the earlier point about not getting much code contribution - that's hardly going to change if you make it more difficult for people to get involved with the code. If Squiz want more people to contribute - it's up to Squiz to drive this part of the process. You can't hide the kettle in the basement and then complain because no-ones made a cup of tea.

And secondly - while there might not have been much direct contribution of code from the opensource community - clients have certainly paid for a host of new features over the years. Most of which I guess they have been happy to feed back into the core Matrix 'opensource' project - in the belief it will benefit the Matrix community as a whole.

 

Let's keep it open and transparent please.


(Talk) #33

I tend to agree with Karl. Is Matrix 5 truly open source, or is Squiz using its discretion to decide who gets access?

Developers are going to be less attracted to Matrix 5, and that’s a problem for Squiz. We aren’t salesmen, but we advise clients to use Matrix and form agreements with Squiz as it’s a solid product. I’ve advised several major organisations to engage with or not depart from Squiz in recent years.


I don’t want a partner agreement with Squiz, and I think my independence is an asset. I’m all for paying for the product/services, and I often recommend Matrix and Squiz cloud, but I’m hesitant to recommend Matrix 5 until I’m sure it’s not a departure from open source.


Open source platforms thrive, but restricting the product just obscures what is already a little known CMS.


(Bart Banda) #34

It Squiz Matrix V5 available via GIT?

 

If so can you not just post some directions and stuff?

 

What's with all the cloak and dagger?

 

If it's released under GPL 2 - then you need to make it available (even if you insist on making it 'on application') - and anyone can distribute it freely once you give them a copy.

Why not just be open and make it easily available - or at the very least have a simple registration process if you're trying to capture people's details for marketing or whatever.

 

Hi Karl,

Matrix 5 is available via GIT (and yes, it is still released under GPL V2), but you have to request access to it as it is in a private GIT repository. 

 

Publishing official information, instructions, and an application form on the manuals site is something that is on my to do list, I just haven't had time to do so yet due to other higher priority items. We'll let everyone know when this is up. 

 

If you are a Squiz Client however (I assume you are Karl as per your profile user group title) and you want access as part of your Squiz SLA for your organisation, you should email your account manager and organise it through them.

 

If you want access for personal reasons however, you can email or private message me directly and I can help organise it for you that way. 


(Kequi) #35

Thanks Bart - I emailed my account manager last week  - still waiting for a reply... 

 

Will PM you anyway if I need to do something different for a personal copy.

 

Karl


(Tom Chadwin) #36

I think we all realize we can each individually get access to the GIT repo if we ask. The bigger problem is that this actively stagnates the userbase and community development effort. This is the point jhewitt86 is making.

 

We are just going through the process of getting a big rebuild done, and not one respondent had any experience with Matrix. This is why. My recommendation to use Matrix is therefore coming under increasing pressure.


(Talk) #37

After reading through GNU/GPL docs, it seems to me that Squiz can restrict online access to the source under GPL V2, only because the provisions under V2 were written in 1991 when physical distribution was the norm. GPL V3 addresses this problem, and requires copies of the source to be available with binaries (i.e. Squiz's try Matrix 5 VM would also include a link to the source if it was GPL V3).

 

That said, it's pretty clear in the GPL docs that the vendor must supply the binary, and the source (or an offer, valid for 3 years for the source) in physical copy for every request that's received. This makes Squiz's use of the term 'application' confusing, as it implies that criteria must be met to receive access -- which would not comply with GPL V2, from what I understand. I should note at this point that I am not a licensing guru, and my understanding of this could be completely wrong.

 

What's particularly odd, is that any of us who obtain Matrix 5 seem to be, according to the GPL v2 docs, completely free to redistribute the product, but Squiz would require an application or premium contract before it would distribute Matrix 5.

 

Can we please get an understanding of what criteria and factors are included in the application process, and Squiz's position on the community setting up an alternative distribution channel for users wishing to access Matrix 5?


(Greg Sherwood) #38

Your reading of the licence is basically correct, but I think you are assuming that Squiz needs to grant public access to the source repository, which is not correct. Squiz needs to, and does, provide the source code for all public Matrix releases.
New versions of Matrix are released on the Matrix Manuals site here: http://manuals.matrix.squizsuite.net/evaluate-squiz-matrix

Those VMs contain the entire source code and you are free to do with it whatever you want (within the bounds of the GPLv2) including committing that code to a public repo. The GPL also covers works that are compiled, so the source code needs to be provided with the binary at that time. But given that Matrix is written in PHP and interpreted by the scripting engine, the source code is already distributed and we don’t take any measures to obfuscate it.

The agreements that Bart writes about are to have access to our private Git repo that we use for internal development of Matrix. It’s like having advanced access to the next version of Matrix, albeit not always in a working state (it is in development after all). If you are granted access to this repo, you are absolutely not allowed to funnel the commits to a public repo. The repository of code is not a product. Matrix is the product that Squiz releases and that is the work covered by the GPLv2.


(Bart Banda) #39

Thanks Greg for adding input and clarifying. Furthermore, this section of the FAQ relates to what we are talking about. :

http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLRequireSourcePostedPublic

 

 

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
 
Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.
 
So the code in our private Git repository holds modified, privately used, and not publicly released versions of the Matrix code. 

(Talk) #40

Thanks Greg and Bart for your detailed responses. I would not be interested in distributing or evaluating pre-release. To be clear, my confusion relates specifically to the availability of Matrix 5.

 

Can the downloadable VM be used to set up and install Matrix on a public-facing web server, and are you saying the availability of this VM is Squiz's distribution of Matrix 5?

 

In the past, I have not been able to deploy these VMs for production-level use, and have always interpreted them to be standalone demos. I'm unclear as to whether they can be used to install Matrix 5 on a web server running Matrix 4x.

 

Thanks guys.