MicrosoftEdge / WebView2Feedback

Feedback and discussions about Microsoft Edge WebView2
https://aka.ms/webview2
449 stars 55 forks source link

Licensing Concerns #907

Closed nothingismagick closed 1 year ago

nothingismagick commented 3 years ago

I just reviewed the License Terms for downloading the evergreen installer at https://developer.microsoft.com/en-us/microsoft-edge/webview2/ and am struggling with several implications and apparent omissions.

First of all, from the perspective of open source library developers like at Tauri, this licensing seems to make little sense. Agreeing to the license means that such projects would be forcing every library consumer (developer) to agree to these terms. This stifles open source innovation and might actually even conflict with MIT/Apache-2 licensing.

Solution: Offer a redistribution clause and consider how downstream consumers can confirm agreement.

Next, this is troubling because the language is either unclear or needlessly draconian:

4.    SCOPE OF LICENSE. The software is licensed, not sold. 
Microsoft reserves all other rights. Unless applicable law gives you 
more rights despite this limitation, you will not (and have no right to):

d)   use the software for commercial, non-profit, or revenue-generating activities;

So who is webview2 even for? Hobby projects? This clause seems to preempt any usage whatsoever...

Solution: If you mean that the licensing scheme should prevent people from repackaging webview2 as e.g. super-awesome-webview and selling it, then this clause needs clarification. Otherwise drop it.

And the real elephant in the room is ffmpeg licensing: https://ffmpeg.org/legal.html There is no statement of lgpl compliance in accordance with ffmpeg's terms, and some organisations (like the Eclipse Foundation) will need this verification.

Solution: Since WebView redistributes Chromium, all Chromium open-source licenses (and any others like widevine) should be exposed in this license agreement. Furthermore, explicitly mention FFMPEG compilation flags used for Chromium, or provide a reference.

Pinging @kemitchell in case he wants to weigh in here.

Edit: Here is how you can determine what ffmpeg is used in (an admittedly out of date) Electron.

nothingismagick commented 3 years ago

Is the EULA currently being worked on? Because it seems either I did a terrible job of reading it yesterday, or there is now a semi-decent section regarding distribution, which resolves my first comment about distribution (although the "spyware clause" does bother me and will be the subject of another issue).

That said, I inspected the license "credits.html" from Edge that the installer links to, and it is NOT clear how you are building FFMPEG, which seems to me to be a clear licensing violation. (It appears to be copypasta from what could theoretically be built, and although I "think" its probably an LGPL distribution, I have no way of knowing that without dissecting and reversing the package.)

Finally from an Academic standpoint, I would prefer not to have to install software before I know what licenses I am agreeing to, as is the case here. But that is probably a much longer discussion.

Anyway, here is the credits file from a current Edge install: Credits.html.zip

jschroedl commented 3 years ago

We too are concerned about the licensing of this control. I certainly hope that the EULA is being revised!

I just downloaded the Evergreen WebView2 Installer again (88.0.705.63) and the License presented there looks the same to me. It still has the disheartening clause 4.d. as well as the mention of Telemetry (3.a) and SmartScreen (3.b).

d) use the software for commercial, non-profit, or revenue-generating activities;

What makes you think things have improved?

nothingismagick commented 3 years ago

Either on my first read I missed the section 2 regarding Distribution, or it has been added. I prefer to think the former, and apologize in retrospect.

However, 4d has NOT been revised at all.

jschroedl commented 3 years ago

FWIW, I did get guidance in #834 re: disabling SmartScreen so that we would not need that verbiage. However, the SmartScreen test page still goes bonkers with warnings so the guidance there does not work or the disabling is incomplete within the control.

Update: disabling SmartScreen does work. I had set a Source= in my XAML which apparently causes some initialization before the args are processed to disable it. See #834 for details.

liminzhu commented 3 years ago

Thanks for reporting this folks. We are looking into this internally with our license folks and will reply back here with more information.

m-bergstrom commented 3 years ago

It may not be ideal, but for what it's worth, the license for the Fixed Version doesn't include the prohibition against using it for commercial, non-profit, or revenue-generating activities.

adminerator commented 3 years ago

Microsoft recommends the evergreen model for "most developers"(https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution).

If "most developers" are not using this for "commercial, non-profit, or revenue-generating activities;" then what in the world are they doing?

liminzhu commented 3 years ago

That's a remnant clause from our Preview days when we didn't want folks to ship anything in production. Sorry about that! We're working with our license folks to remove that and you should see update on the download site soon.

nothingismagick commented 3 years ago

Ok, paragraph 4d is one concern, but we still need to be able to redistribute. I am still quite worried about open source compliance because then e.g. Tauri will be forced to accept license terms that we cannot legally accept for consumers of our library - i.e. other devs.

Also, please notify us @liminzhu when that update is available and consider uploading a copy of it here in this issue.

nothingismagick commented 3 years ago

I hate to say this, but now we are now REALLY in a pickle. As of this moment, 8am CET, March 10th, 2021 - Section 4 paragraph D of the Evergreen license still has not been altered, which legally (and literally) prevents anyone from doing anything with WebView2.

Why should you care? Well, because yesterday EdgeHTML (aka Edge Desktop Legacy) was retired. https://blogs.windows.com/msedgedev/2021/03/09/microsoft-edge-legacy-end-of-support/

This means that right now, there is no viable webview for windows on any venue on this planet.

Now, the light at the end of the tunnel is apparently planned for April 13th, 2021 - when WebView2 gets shipped to all Windows devices... Hope we have license clarity by then!

Current Evergreen License MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT EDGE WEBVIEW2 RUNTIME IF YOU LIVE IN (OR ARE A BUSINESS WITH A PRINCIPAL PLACE OF BUSINESS IN) THE UNITED STATES, PLEASE READ THE “BINDING ARBITRATION AND CLASS ACTION WAIVER” SECTION BELOW. IT AFFECTS HOW DISPUTES ARE RESOLVED. These license terms are an agreement between you and Microsoft Corporation (or one of its affiliates). They apply to the software named above and any Microsoft services or software updates (except to the extent such services or updates are accompanied by new or additional terms, in which case those different terms apply prospectively and do not alter your or Microsoft’s rights relating to pre-updated software or services). IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. 1. INSTALLATION AND USE RIGHTS. a) General. You may install and use any number of copies of the software to develop and test your applications. b) Included Microsoft Applications. The software may include other Microsoft applications. These license terms apply to those included applications, if any, unless other license terms are provided with the other Microsoft applications. c) Third Party Components. The software may include third party components with separate legal notices or governed by other agreements, as may be described in the ThirdPartyNotices file(s) accompanying the software. 2. DISTRIBUTABLE CODE. a) Distribution Rights. i. You may copy and distribute the object code of the software; and ii. You may permit distributors of your applications to copy and distribute any of this distributable code you elect to distribute with your applications. b) Distribution Requirements. For any code you distribute, you must: i. add significant primary functionality to it in your applications; ii. require distributors and external end users to agree to terms that protect it and Microsoft at least as much as this agreement, including providing notice to end users as required in Section 9 below iii. You must acquire all code, including any code obtained from a Microsoft URL, directly from Microsoft, including a Microsoft download site; and iv. indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your applications, except to the extent that any claim is based solely on the unmodified distributable code. c) Distribution Restrictions. You may not: i. use Microsoft’s trademarks or trade dress in your application in any way that suggests your application comes from or is endorsed by Microsoft; or ii. modify or distribute the source code of any distributable code so that any part of it becomes subject to any license that requires that the distributable code, any other part of the software, or any of Microsoft’s other intellectual property be disclosed or distributed in source code form, or that others have the right to modify it; or iii. provide any Microsoft download sites or shortcuts that provides access to this software to a third party. 3. DATA. a) Data Collection. The software may collect information about you and your end users’ use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. See Section 9 below for end user notice requirements. There are also some features in the software that may enable you to collect data from users of your applications. If you use these features to enable data collection in your applications, you must comply with applicable law, including providing appropriate notices to users of your applications. You can learn more about data collection and use in the help documentation and the privacy statement at https://aka.ms/privacy. Your use of the software operates as your consent to these practices. b) Microsoft Defender SmartScreen. Microsoft Defender SmartScreen (“SmartScreen”) is enabled by default. You can learn more about SmartScreen in the Microsoft Edge Privacy Whitepaper at https://docs.microsoft.com/en-us/microsoft-edge/privacy-whitepaper#smartscreen. If you do not disable SmartScreen, you must provide notice to your end users as required by Section 9 below. c) Processing of Personal Data. To the extent Microsoft is a processor or subprocessor of personal data in connection with the software, Microsoft makes the commitments in the European Union General Data Protection Regulation Terms of the Online Services Terms to all customers effective May 25, 2018, at https://docs.microsoft.com/en-us/legal/gdpr. 4. SCOPE OF LICENSE. The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to): a) work around any technical limitations in the software that only allow you to use it in certain ways; b) reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software; c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software; d) use the software for commercial, non-profit, or revenue-generating activities; e) use the software in any way that is against the law or to create or propagate malware; or f) share, publish, distribute, or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party. 5. VIDEO CODECS. THIS PRODUCT IS LICENSED UNDER THE AVC, THE VC-1, AND THE MPEG-4 PART 2 VISUAL PATENT PORTFOLIO LICENSES FOR THE PERSONAL AND NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE ABOVE STANDARDS (“VIDEO STANDARDS”) OR (ii) DECODE AVC, VC-1, AND MPEG-4 PART 2 VIDEO THAT WAS ENCODED BY A CONSUMER ENGAGED IN A PERSONAL AND NON-COMMERCIAL ACTIVITY OR WAS OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE SUCH VIDEO. NO LICENSE IS GRANTED OR SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM MPEG LA, L.L.C. SEE https://aka.ms/mpegla. 6. EXPORT RESTRICTIONS. You must comply with all domestic and international export laws and regulations that apply to the software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting. 7. SUPPORT SERVICES. Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is “as is”, “with all faults”, and without warranty of any kind. 8. UPDATES. The software may periodically check for updates, and download and install them for you or your end users. You may obtain updates only from Microsoft or authorized sources. Microsoft may need to update your or your end users’ systems to provide you or your end users with updates. You agree to receive these automatic updates without any additional notice and you agree to provide notice to your end users on Windows 7 or 8 devices as required under Section 9 below. Updates may not include or support all existing software features, services, or peripheral devices. 9. REQUIRED NOTICES TO END USERS. a) Required notice to all end users. Per Section 3 (a) above, you must provide notice to all users that your software includes software provided by Microsoft and that it may collect information about the end user’s use of the software, and send that information to Microsoft to provide services as disclosed in Microsoft’s Privacy Statement at https://aka.ms/privacy. b) Required SmartScreen notice. If you do not disable SmartScreen as described in Section 3(b) above, you must provide notice to all users that your software includes Microsoft Defender SmartScreen and collects and sends the end user’s information to Microsoft as disclosed in Microsoft’s Privacy Statement at https://aka.ms/privacy and the Microsoft Edge Privacy Whitepaper at https://docs.microsoft.com/en-us/microsoft-edge/privacy-whitepaper#smartscreen. c) Required Update Disclosure to Windows 7 and 8.1 end users. Per Section 8 above, you must provide notice to your end users on Windows 7 and 8.1 devices that the software may periodically check for updates, and download and install them on your end users’ devices without any additional notice. 10. BINDING ARBITRATION AND CLASS ACTION WAIVER.This Section applies if you live in (or, if a business, your principal place of business is in) the United States. If you and Microsoft have a dispute, you and Microsoft agree to try for 60 days to resolve it informally. If you and Microsoft can’t, you and Microsoft agree to binding individual arbitration before the American Arbitration Association under the Federal Arbitration Act (“FAA”), and not to sue in court in front of a judge or jury. Instead, a neutral arbitrator will decide. Class action lawsuits, class-wide arbitrations, private attorney-general actions, and any other proceeding where someone acts in a representative capacity are not allowed; nor is combining individual proceedings without the consent of all parties. The complete Arbitration Agreement contains more terms and is at https://aka.ms/arb-agreement-4. You and Microsoft agree to these terms. 11. ENTIRE AGREEMENT. This agreement, and any other terms Microsoft may provide for supplements, updates, or third-party applications, is the entire agreement for the software. 12. APPLICABLE LAW AND PLACE TO RESOLVE DISPUTES. If you acquired the software in the United States or Canada, the laws of the state or province where you live (or, if a business, where your principal place of business is located) govern the interpretation of this agreement, claims for its breach, and all other claims (including consumer protection, unfair competition, and tort claims), regardless of conflict of laws principles, except that the FAA governs everything related to arbitration. If you acquired the software in any other country, its laws apply, except that the FAA governs everything related to arbitration. If U.S. federal jurisdiction exists, you and Microsoft consent to exclusive jurisdiction and venue in the federal court in King County, Washington for all disputes heard in court (excluding arbitration). If not, you and Microsoft consent to exclusive jurisdiction and venue in the Superior Court of King County, Washington for all disputes heard in court (excluding arbitration). 13. CONSUMER RIGHTS; REGIONAL VARIATIONS. This agreement describes certain legal rights. You may have other rights, including consumer rights, under the laws of your state, province, or country. Separate and apart from your relationship with Microsoft, you may also have rights with respect to the party from which you acquired the software. This agreement does not change those other rights if the laws of your state, province, or country do not permit it to do so. For example, if you acquired the software in one of the below regions, or mandatory country law applies, then the following provisions apply to you: a) Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights. b) Canada. If you acquired this software in Canada, you may stop receiving updates by turning off the automatic update feature, disconnecting your device from the Internet (if and when you re-connect to the Internet, however, the software will resume checking for and installing updates), or uninstalling the software. The product documentation, if any, may also specify how to turn off updates for your specific device or software. c) Germany and Austria. i. Warranty. The properly licensed software will perform substantially as described in any Microsoft materials that accompany the software. However, Microsoft gives no contractual guarantee in relation to the licensed software. ii. Limitation of Liability. In case of intentional conduct, gross negligence, claims based on the Product Liability Act, as well as, in case of death or personal or physical injury, Microsoft is liable according to the statutory law. Subject to the foregoing clause ii., Microsoft will only be liable for slight negligence if Microsoft is in breach of such material contractual obligations, the fulfillment of which facilitate the due performance of this agreement, the breach of which would endanger the purpose of this agreement and the compliance with which a party may constantly trust in (so-called "cardinal obligations"). In other cases of slight negligence, Microsoft will not be liable for slight negligence. 14. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. TO THE EXTENT PERMITTED UNDER APPLICABLE LAWS, MICROSOFT EXCLUDES ALL IMPLIED WARRANTIES, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 15. LIMITATION ON AND EXCLUSION OF DAMAGES. IF YOU HAVE ANY BASIS FOR RECOVERING DAMAGES DESPITE THE PRECEDING DISCLAIMER OF WARRANTY, YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. This limitation applies to (a) anything related to the software, services, content (including code) on third party Internet sites, or third party applications; and (b) claims for breach of contract, warranty, guarantee, or condition; strict liability, negligence, or other tort; or any other claim; in each case to the extent permitted by applicable law. It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your state, province, or country may not allow the exclusion or limitation of incidental, consequential, or other damages. Please note: As this software is distributed in Canada, some of the clauses in this agreement are provided below in French. Remarque: Ce logiciel étant distribué au Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. Cette limitation concerne: tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers; et les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.

EDIT: modified date to be April 13, not April 10.

GaNacereddine commented 3 years ago

@nothingismagick can you link to the April 10th article?

nothingismagick commented 3 years ago

@nothingismagick can you link to the April 10th article?

This is mentioned in the edge-legacy-end-of-support article.

EDIT: Sry - it is slated for April 13th, not April 10th.

nothingismagick commented 3 years ago

https://techcommunity.microsoft.com/t5/microsoft-365-blog/new-microsoft-edge-to-replace-microsoft-edge-legacy-with-april-s/ba-p/2114224

liminzhu commented 3 years ago

Sorry we should have this updated soon. Licensing update has to go through lawyers, then localization, then the website folks have to integrate etc. so it could take a while. Right now we already have localized version just waiting on the website to be refreshed.

liminzhu commented 3 years ago

Update - the license is updated and the below clause is removed.

d) use the software for commercial, non-profit, or revenue-generating activities;

ngoubier commented 3 years ago

Hi @liminzhu The clause 4e) seems a bit restrictive also. Can you give us more explantations ?

Thanks

4. SCOPE OF LICENSE. The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to): ... e) **share, publish, distribute**, or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.

wyrdfish commented 3 years ago

The article above concerns removing old edge and replacing with new edge on windows 10 machines only. Is the WebView2 component shipped with edge, I thought it was a completely separate download that we will still need to distribute.

Also what about the issue with ffmpeg licensing, has that been addressed?

nothingismagick commented 3 years ago

Also what about the issue with ffmpeg licensing, has that been addressed?

@wyrdfish - to my knowledge no concern has been given to the very real FFMPEG licensing issues.

liminzhu commented 3 years ago

To my knowledge this is covered by added open source disclosure in the license. You can find relevant source code for Edge (which WV is built on top of) on https://thirdpartysource.microsoft.com. The runtime also comes with a show_third_party_software_licenses.bat file which shows all the license.

This software incorporates material from third parties. Microsoft makes certain open source code available at https://thirdpartysource.microsoft.com, or you may send a check or money order for US $5.00, including the product name, the open source component, and version number, to:

Source Code Compliance Team
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA

Notwithstanding any other terms, you may reverse engineer this software to the extent required to debug changes to any libraries licensed under the GNU Lesser General Public License.
liminzhu commented 3 years ago

The WebView2 runtime builds from the same Edge codebase. You can find the source by searching for edge.

Screen Shot 2021-04-22 at 2 46 19 PM
nothingismagick commented 3 years ago

OK, thankyou, sorry for being dense. So now while my 3.6 GB file is downloading, I can return to one of my questions about ffmpeg. Can you prove to me that you have compiled it in accordance with LGPL, or is it GPL-3 licensed?

liminzhu commented 3 years ago

Hi @nothingismagick . Sorry I was working with legal/license folks on this for the past few days. I’ve confirmed that we build FFMPEG to be licensed under LGPL. The FFmpeg source files used in Edge are listed at “src/third_party/ffmpeg/ms_ffmpeg_generated.gni".

stefan1000 commented 3 years ago

Since FFMPEG is under LGPL there should be a way to replace it with a custom version. Just downloaded the src archive, but did not find any build instructions to build msedge.dll.

dimball commented 2 years ago

Sorry for the cross post, but this question fits this topic too..

I have a question about the use of WebView2 Runtime for a commercial application.

Under the video codec section, it also mentions that the codecs being used are for non-commercial and personal use only. Does this mean that the whole license to use Webview2 runtime is for personal/non commercial use only?

This clause suggests that just having the codec bundled with the webview2 runtime installer, and even if you do not even make use of videos encoded/decoded in the webapp, you are inherently using it anyway as it is part of the application. Could someone clear up this?

Are we allowed to use webview2 runtime in a commercial setting (with the use of video playback in the Edge/chromium browser with h264 videos)?

reemrizzk commented 1 year ago

Hello, did you figure out whether or not WebView2 can be used in a commercial application? Because I need to know

novac42 commented 1 year ago

Hi @reemrizzk yes you can. The license has been updated. Right now it says:

SCOPE OF LICENSE. The software is licensed, not sold. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you will not (and have no right to): a) work around any technical limitations in the software that only allow you to use it in certain ways;

b) reverse engineer, decompile or disassemble the software, or otherwise attempt to derive the source code for the software, except and to the extent required by third party licensing terms governing use of certain open source components that may be included in the software;

c) remove, minimize, block, or modify any notices of Microsoft or its suppliers in the software;

d) use the software in any way that is against the law or to create or propagate malware; or

e) share, publish, distribute, or lease the software, provide the software as a stand-alone offering for others to use, or transfer the software or this agreement to any third party.

tedyyu commented 8 months ago

just want to add a reference for people to save time of checking exact license terms. There is no direct link, but a pop up after clicking the Download button.

To view the license, go to [Download the WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section), where clicking any of the download buttons, such as Get the Link, Download, or x64, shows the license in a dialog.

图片