I know some developers out there may have some concerns over the licensing of MySource Matrix, so I'd like to start this topic about it. Feel free to ask any questions about the license here or make your opinions known.
License Discussion
A couple to get things started;
- I don't know what I want to make, so how can I tell Squiz what I'm making? I just want to play around with Matrix and develop simple stuff that would never be Matrix Certified.
- I want to use an asset that is currently being sold by Squiz. Instead of buying it I want to make my own version to use. Is this okay?
- I just want to make something for my own site, but don't think it's good enough to give back to the community. What should I do?
- Can I sell what I've developed separately from Squiz?
I'll answer a couple of these:
[quote]I don't know what I want to make, so how can I tell Squiz what I'm making? I just want to play around with Matrix and develop simple stuff that would never be Matrix Certified.[/quote]
You dont have to tell us about everything you want to develop. If your just playing around with the system and want to see if you can extended an asset type or write a new one, you are free to do so. Once completed, you should let us know if you have made something of any note. We can post this on the web site as a patch and you can get it certified to be released with the main core if you want.
[quote]I want to use an asset that is currently being sold by Squiz. Instead of buying it I want to make my own version to use. Is this okay?[/quote]
It's fine to go ahead and write it. Again, you can submit it back and make it available to everyone. Perhaps the two modules could be merged later and released as a free patch.
[quote]I just want to make something for my own site, but don't think it's good enough to give back to the community. What should I do?[/quote]
As per the license, you should contact us to let us know that you have developed a new module. If its really not something that can be shared, you dont really have to share it with everyone. However, contacting us may be a way that we can suggest ways to make the module more generic, or even offer new ways of solving your problem within existing modules. Plus, its a gesture of good will - we have shared our code with you so we ask that you also share your code with us.
Just remember, we like to know if you are making use of the product and are able to develop for it. Matrix is still only young, and all we ask is that while the community grows you keep us informed of how we are going to help make a product that everyone can use.
- How should I contact to let you know that I am developing an asset? Is posting on the forum about it letting Squiz know?
Yes, posting on the forum is a good way to let us know. You can also use the Contact Us form on the website, but I would suggest posting in the Developers forum is a better way of doing it.
Is there actually a download section that has modules that developers have created? I have found nothing like this, and it seems like there is really no developer community to be found. Tell me I am wrong.
There is no download section. We do not have a community of external developers that contribute code back to us. Most write custom assets for their own installations and just let us know what they are doing. They don't offer them for download because they are built to provide very specific features.
Instead, they fund the development, or just offer suggestions, for our generic tools. Assets like the asset listing and asset builder evolve over time as users require new features to be built. As these are generic assets that go out to hundreds of installations, all code within them must be developed, or at least checked and double checked, by the development team at Squiz so that we know exactly how it works and can provide fixes and support if required.
The idea with Matrix is that it provides generic tools that can be configured together to provide solutions that other CMS providers would call "modules". Things like image and download libraries, or news systems are all built using the same assets. You just configure them in the way that you want. You don't have to code up any additional modules for them. For that reason, the public Matrix community revolves more around support and configuration rather than development.
Extra question
- does the licence allow me to use bits of Matrix code (eg the Fudge library) in other projects? Do I have to notify Squiz of this? What if I modify it and use it?
This is more of a general dev question.
Q: Do you have any developers manuals/docs? If I for example would like to make an AJAX based version of the custom form asset I need to know how the data is handled in the actual posting. Is this kind of information available in any kind of documentation? Or do I have to reverse engineer the complete form assets code?
For individual assets, you'll need to read the code. For general information, see the Matrix website developer section (matrix.squiz.net/developer).