I am planning on starting a small php framework for a niche userbase. I will likely start with something like KISS MVC and HTML5 Boilerplate and change both of them beyond all reckoning to where there will be no simple way of updating either with the newer versions of the projects.
I will also bundle jQuery and parts of jQuery UI and some other 3rd party libraries that would likely benefit from updates down the line.
So, what is the best way to credit people and projects that have been included as a starting point but for which damn near every plank of the hull has been replaced? I was thinking about including a wall of thanks somewhere in the source code and/or on the project website? I don’t even know how this is commonly done.
Also, for the updateable 3rd-party libraries (which are likely to mostly be JS), what is the best way to keep track of updates? Sometimes the api/interface changes, so automating the update fully may not be a wise direction to go in. Also, there might be a benefit to minifying all that JS and bundling it up into a single file—which may complicate updating down the line. I am thinking at this point, there is no way of getting around manually having to keep track of stuff.
I am curious to know what techniques people have developed for this kind of thing in their projects. Any other helpful reading about matters of 3rd party open source decorum and organization of assets would be appreciated.
Before you start using 3rd party code, check the licenses. Make sure the licenses are compatible and also check the requirements for the licenses.
I know that jQuery and jQuery UI are dual licensed under the terms of MIT and GPL. So you could then in any project and in combination with any other library.
Most OpenSource licenses require you include the copyright notice in every shipped product copy and with any source distribution. Given the nature of JavaScript means that also the JavaScript files served by the webserver should retain the copyright notice. So when you minimize the file you should make sure it still contains the copyright notice at the top of the file.
(Most authors wouldn’t mind if you reduce the copyright notice to something like:
for the minimized files)
If you’re going to fork a project you need to retain the original copyright notice and append your name to the list.
It’s not required by most licenses, but you can always list the 3rd party software you used on your project page and project documentation. In that case it’s sufficient to mention the 3rd party software and link to their project page.
As for keeping stuff updated. There’s not really a centralized point to get notifications from in case of updates. But this is also something you do not really want. Generally in software development you pick the current stable release of a 3rd party library and develop against it. You rarely ever update the 3rd party library unless you encounter a bug which is fixed in a new version, or when you’re going to work on a new major version of your own project. Because updating a 3rd party library means that you have to retest everything to see if nothing got broken.