Where have you read such a guideline from the license? Rosen put that in to ensure the reciprocity of the software is enforced and not teeth-less.
That was just my interpretation of section 9. By putting up a notice of the licensing of the work you are stating that software is bound by it and it is generally accepted anyone using it is also bound by so, by using the software, they basically grant their express assent. Yeah, I’m not a lawyer, and I’m trying to understand all of this myself, but even in the previously linked discussion about the OSL by Rosen he states:
However, in accordance with expected practices in the open source community, licensees should provide whatever notices are appropriate in order to fairly warn recipients that the Original Work or Derivative Works they receive remain subject to the terms and conditions of the copyright and patent licenses granted by the original Licensor(s) of those works (meaning the OSL 3.0 license itself, its patent defense and all other of Licensor(s) reserved rights and remedies under copyright and patent law)
I’m not trying to say it’s not enforceable. Not at all, just that you don’t have to have a checkbox that says I agree to the terms of the license and recording that information somewhere so you have proof of that contract between you and them.
What’s my definition of the linking / creating definitive works? It seems to me that, in PHP, any library we use is dynamically linked, since it is linked at runtime for every script execution. Rosen seems to make it pretty clear that linking and unchanged original does not create a derivative:
The definition of Derivative Works in § 1(b) is particularly important. For one thing, that defined term includes no reference whatsoever to linking or to any other technical manner of making programs interoperate. The verbs used in § 1(b) [“translate, adapt, alter, transform, modify, or arrange”] reflect the kinds of activities that we generally do to create derivative literary or other expressive works, and those things—not functional linking—create Derivative Works as defined in this license. As a result, linking an unchanged Original Work with another independently-written work does not, absent more, create a Derivative Work subject to § 1(b); such an act is merely the
incorporation of a copy of that Original Work into a collective work, authorized by § 1(a).
And he follows this with more discussion that says the same thing under the section on when you must disclose your source code:
If linking (by whatever technical means) can be accomplished by making and using unmodified copies of the Original Work, then 1(a) and 1(c) permit that; only the Source Code of the Original Work must be disclosed.
To me, this sounds like I can create a MY_Controller which extends the OSL-protected CI_Controller without it being forced into the OSL since the CI_Controller class is the unchanged Original Work.
Like I said, I’m just trying to understand this myself, and in so doing, help others understand it, because I sense there was a bit of a knee-jerk reaction when the license was changed.