Polymer / pwa-starter-kit

Starter templates for building full-featured Progressive Web Apps from web components.
https://pwa-starter-kit.polymer-project.org
2.36k stars 431 forks source link

(c) LICENSE again, one more time #349

Closed Berocca closed 5 years ago

Berocca commented 5 years ago

Will someone kindly explain this one more time please, as @djlauk was kinda half left stranded in #208 I'm a code newbie but I'm learning as I go. The whole point with a PWA is to compress and optimize it, and that's something that I enjoy to the extreme. In my process of DCE my current build I found 20 files that contained the (LICENSE.txt) Stripping that text freed up 500 bytes x that with 20 = 10.000 bytes. On top of that some of the build webcomponents.js files even has it duplicated in the head. Funny enough, after compiling, the index.html is the only file, which does not contain the license text and that's the only page most visitors to your site can actually view the source code of. @keanulee, mentioned a link, but would that be sufficient? As when you read the BSD License, it explicit tells you in "EVERY*."

// Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission.

  • So that is in every file, which do result in multiple sources of the same license.

There will be many more to credit and licensing to add, before I'm done with my project. Having this in the footer of my main Web App landing page with links is a no go, but can do it in the footer on the about page:

(Web App Name) - Code licensed under the Apache 2.0 License, BSD-3-Clause, and Creative Commons Attribution 3.0 License. Java is a registered trademark of Oracle and/or its affiliates.

If one uses the above given example, and have it in the LICENSE.txt file too, plus embedded in every file in ones bundle - One complies with the actual code of conduct and one cannot trim ones "lit-weight" Progressive Web App from the additional carrying capacity of 500 extra bytes.

The amount of license copy paste stamped all over the place in the starter kits are beyond vandalism. Are you allowed to use a <LINK rel="License"canonical element link that are not rendered, that points curious people to the license documentation?

Berocca commented 5 years ago

*Update I truly honour what you guys have accomplished, also with your lit-html and LitElement project. Heads-up, if you don't rewrite history - that license spam, that will be your downfall.

On my code newbie journey I started with Vue.js and Nuxt.js - which ended up with my Progressive Web App being to slow. After trying Google Web Designer - just to see how much I could compress and optimize a full stack PWA, by using HTML elements only. I soon realised that what I was looking for was a PWA combined with a AMP -for only a small subsection of my index page.

So I ended up moving into your project, hoping that this was the place to be, where I could finally create 'the' PWA, only to find it flush down the open-wc approach that only requires "1" license included, the same goes for Preact.

I'm really sorry, but I'm abandoning you guys, when you can create a PWA, using only 500 bytes in Preact, (referring here to the Page Source of the actual index.html file size) what can one then accomplish with 10Kb+ - that isn't otherwise used up by license text.

As an example approach, I suggest that the license should instead be enclosed in a simple short line in the files, that uses your element code. <!--LINK rel="@license" href="https://www.example-Web-App.com/LICENSE.txt" rel="canonical"--> And instead let the LICENSE.txt file contain all the needed license documentation.

keanulee commented 5 years ago

The license we use is BSD-3-Clause which is a pretty common one out there. Unfortunately I'm not a lawyer (IANAL) so I can't comment more on specifically on how to apply this license, but again, it's BSD-3-Clause (different link).

Berocca commented 5 years ago

Thanks for that correction, and yeah I know @keanulee, most of us aren't lawyers. I just don't wanna get sued one day in the near future for only having the license in 20 of my files and not 21. From now on I'll be filtering repositories based on their license types. Personally I just think It's a shame that the BSD-3-Clause was used, it shouldn't be used in PWA projects.

*edited my 1st post so that the BSD link points to the BSD-3-Clause and not the license.txt link the polymer-project.org websites points to.