Open Source is the epitome of collaborative coding participation, and this is something we welcome and have supported since our inception. With Zen Cart this has been invited via 3rd-party contributions shared via our support site and sharing of bug reports and code suggestions via our support forum.
Many community discussions have debated the varying opinions about how code development should work in an Open Source space. PA-DSS also introduces some additional complexities in that area, especially in regard to safe access to code, vs officially certified code, vs things which have not been assessed for certification.
The ever increasing popularity of open source development has spawned the launch of some useful tools to enable an even more broad participation in this space. One of these is the availability of GitHub:
Developers and coders will be pleased to learn that we have for the last couple of months been using an active GitHub repository where you can see the ongoing changes being made to Zen Cart code. The github repository contains branches that reflect code (and changes) made since the release of the PA-DSS certified v1.5.0 branch.
Furthermore it should be noted that the github branches are maintained separately from our internal git repositories. There are two reasons for this:
- Firstly, because we only release commits to the github branches once they have passed thru portions of our SDLC (Software Development Life Cycle)
- Secondly, because we also maintain (within our internal repositories) certain framework testing code, that we do not push to github.
Currently the GitHub repository has 3 branches.
- Master Branch - This represents the CURRENT STABLE release : https://github.com/zencart/zencart/ (currently v1.5.1 as of today)
- v.1.5.0 release - This is here for historical reasons. https://github.com/zencart/zencart/tree/v150-release
- Current v1.5.1 release: https://github.com/zencart/zencart/commits/v151
- OTHER: v150a-inprogress - This was originally created to show ongoing development, however we later decided to rename the release to v1.5.1. The 150a-inprogress branch is a mirror of the v1.5.1 branch and may be deleted at some point.
- More branches will be added when internal code is ready for posting publicly. (ie: The v1.6.0 didn't show there until we were ready for that stage)
- v1.6.0 branch: https://github.com/zencart/zencart/tree/v160
PA-DSS vs GitHub (or any other non-official code release)
Please note that (as of today) only the v1.5.0 release is PA-DSS certified, and that to comply with PA-DSS certification you must download that version via Sourceforge v1.5.0 Release. Furthermore to comply with PA-DSS you must use the Implementation Guide to install Zen Cart from the downloaded zip file.
- md5 hash 355ddc45094b4214029343036aa595a9
- sha1 hash 15a671d46577a1745e8cd8fd34fc59b997680637
It must be noted that any code downloaded from GitHub does not form a complete official PA-DSS-certified release package and does not have official PA-DSS certification and must not be represented as such. As with any code changes that are different from official released certified versions, if your site is subject to any PCI Compliance requirements, you must self-certify any of those changes which you use/implement/incorporate on your site.
Using github also opens the opportunity for advanced coders to fork the code and even submit pull requests for consideration/review. While we cannot guarantee that any particular pull request will be accepted for core distribution or for official inclusion in any particular version, they will be reviewed and considered.
In the meantime, we are pleased to use GitHub to offer "early access" to bugfixes and upcoming code changes.