Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
Hi, Ludovic Just like I said before, license issue is the biggest concern. Our license expert has confirmed GNU LGPL license would corrupt EDKII BSD license. So I would suggest you wait till we have clear conclusion on how to handle non-BSD license. As for should TianoCore/EDKII be extended to support other licenses, I would suggest you resend another mail to discuss it specifically. By this way, more people could be involved (many people may ignore the discussion as the mail title has no business with license issue from literal.) Thanks Feng -Original Message- From: Ludovic Rousseau [mailto:ludovic.rouss...@gmail.com] Sent: Thursday, June 18, 2015 20:55 To: edk2-devel@lists.sourceforge.net Subject: Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL Hello, How can we progress on the inclusion of my EFI_SMART_CARD_READER_PROTOCOL proposal in EDK2? Is the GNU LGPL v2.1+ license really not possible in EDK2 and I should just forget about integrating my code in EDK2? The point 5 of Code Contributions [1] says: " 5. It is preferred that contributions are submitted using the same copyright license as the base project. When that is not possible, then contributions using the following licenses can be accepted: * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib Contributions of code put into the public domain can also be accepted. Contributions using other licenses might be accepted, but further review will be required. " It is not clear that GNU LGPL is forbidden. Do I need to wait that " further review " is made by whoever is in charge? [1] https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Contributions.txt 2015-06-11 15:31 GMT+02:00 Blibbet : >> BSD is a GPL compatible licence. >> GPL is NOT a BSD compatible licence. > > Where is the requirement that all OEMs must only include BSD code in > their firmware? Why not let Puri.sm or Novena have a downstream UEFI > firmware volume that is GPL, will the world end or something? Today, > there is some non-BSD code needed to boot Linux on UEFI. Linux OSVs > probably don't have the same fear of GPL that closed-source OS vendors > do. You're free to ignore that code and focus on the license subset > you prefer. > >>> What about a Tiano way to distribute [L]GPL code, safely separate >>> from main BSD branch, like FAT driver is dealt with, so GPL-friendly >>> OSVs/ISVs/OEMs -- everyone but Microsoft? :-) -- can safely use GPL >>> code? Perhaps other non-BSD, OSI-approved FOSS licensed, and no others? >>> >> >> As you point out we solve issues with licensing by splitting git >> repos and having separate projects. That is probably a separate >> conversation from what goes in the edk2 project. > > I thought the conversation was to deal with this current code > contribution, not just focus on EDK2 subproject. > > What about using TianoCore's EDK2share for non-BSD projects? That code > isn't bundled into UDK releases. If contributor can relicense to BSD > great, but if not, dropping code is rude, a non-BSD friendly area > outside main EDK2 project, somewhere on Tiano, would be better than > dropping the code, I'd think. I am not familiar with EDK2share. Hosting "non-free-enough" source code in a EDK2 side project could also be a possibility. My code is available in the SmartCard branch or my edk2 fork at https://github.com/LudovicRousseau/edk2/tree/SmartCard But is it not really easy to find and use. Regards, -- Dr. Ludovic Rousseau -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
Hello, How can we progress on the inclusion of my EFI_SMART_CARD_READER_PROTOCOL proposal in EDK2? Is the GNU LGPL v2.1+ license really not possible in EDK2 and I should just forget about integrating my code in EDK2? The point 5 of Code Contributions [1] says: " 5. It is preferred that contributions are submitted using the same copyright license as the base project. When that is not possible, then contributions using the following licenses can be accepted: * BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause * BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause * MIT: http://opensource.org/licenses/MIT * Python-2.0: http://opensource.org/licenses/Python-2.0 * Zlib: http://opensource.org/licenses/Zlib Contributions of code put into the public domain can also be accepted. Contributions using other licenses might be accepted, but further review will be required. " It is not clear that GNU LGPL is forbidden. Do I need to wait that " further review " is made by whoever is in charge? [1] https://github.com/tianocore/edk2/blob/master/MdeModulePkg/Contributions.txt 2015-06-11 15:31 GMT+02:00 Blibbet : >> BSD is a GPL compatible licence. >> GPL is NOT a BSD compatible licence. > > Where is the requirement that all OEMs must only include BSD code in > their firmware? Why not let Puri.sm or Novena have a downstream UEFI > firmware volume that is GPL, will the world end or something? Today, > there is some non-BSD code needed to boot Linux on UEFI. Linux OSVs > probably don't have the same fear of GPL that closed-source OS vendors > do. You're free to ignore that code and focus on the license subset you > prefer. > >>> What about a Tiano way to distribute [L]GPL code, safely separate from >>> main BSD branch, like FAT driver is dealt with, so GPL-friendly >>> OSVs/ISVs/OEMs -- everyone but Microsoft? :-) -- can safely use GPL >>> code? Perhaps other non-BSD, OSI-approved FOSS licensed, and no others? >>> >> >> As you point out we solve issues with licensing by splitting git repos >> and having separate projects. That is probably a separate conversation >> from what goes in the edk2 project. > > I thought the conversation was to deal with this current code > contribution, not just focus on EDK2 subproject. > > What about using TianoCore's EDK2share for non-BSD projects? That code > isn't bundled into UDK releases. If contributor can relicense to BSD > great, but if not, dropping code is rude, a non-BSD friendly area > outside main EDK2 project, somewhere on Tiano, would be better than > dropping the code, I'd think. I am not familiar with EDK2share. Hosting "non-free-enough" source code in a EDK2 side project could also be a possibility. My code is available in the SmartCard branch or my edk2 fork at https://github.com/LudovicRousseau/edk2/tree/SmartCard But is it not really easy to find and use. Regards, -- Dr. Ludovic Rousseau -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
> BSD is a GPL compatible licence. > GPL is NOT a BSD compatible licence. Where is the requirement that all OEMs must only include BSD code in their firmware? Why not let Puri.sm or Novena have a downstream UEFI firmware volume that is GPL, will the world end or something? Today, there is some non-BSD code needed to boot Linux on UEFI. Linux OSVs probably don't have the same fear of GPL that closed-source OS vendors do. You're free to ignore that code and focus on the license subset you prefer. >> What about a Tiano way to distribute [L]GPL code, safely separate from >> main BSD branch, like FAT driver is dealt with, so GPL-friendly >> OSVs/ISVs/OEMs -- everyone but Microsoft? :-) -- can safely use GPL >> code? Perhaps other non-BSD, OSI-approved FOSS licensed, and no others? >> > > As you point out we solve issues with licensing by splitting git repos > and having separate projects. That is probably a separate conversation > from what goes in the edk2 project. I thought the conversation was to deal with this current code contribution, not just focus on EDK2 subproject. What about using TianoCore's EDK2share for non-BSD projects? That code isn't bundled into UDK releases. If contributor can relicense to BSD great, but if not, dropping code is rude, a non-BSD friendly area outside main EDK2 project, somewhere on Tiano, would be better than dropping the code, I'd think. >> Users of this code will also have to face their main hurdle, getting >> Microsoft to bless their EFI code, and their current restrictions >> already hinder any GPL code, which gets worse with each Windows release. > > I don’t really understand that statement. Microsoft does not “bless” firmware code. > The platform vendor can have any firmware implementation they want. I was referring to 'pre-OS' ISVs. For firmware that doesn't come built by OEMs/ODMs/IBVs, Microsoft does bless that firmware code, and UEFI Forum does nothing to help, and Microsoft applies it's own biases and uses it's position to compete with vendors. I'd at least hope that an additional techincal and policy restrictions that Microsoft adds to code would be set by UEFI Forum and not by Microsoft. The Microsoft CA really is an ugly pink elephant for UEFI Forum, and it helps let them continue to be a bully in the Intel playground (except in the Apple corner). And for this case of a smartcard driver, I presume the above Microsoft comment won't apply since a SC driver has to be (?) bundled into main FV, not a separate .efi that Microsoft would need to sign. http://blogs.msdn.com/b/windows_hardware_certification/archive/2013/12/03/microsoft-uefi-ca-signing-policy-updates.aspx https://msdn.microsoft.com/en-us/library/windows/hardware/dn609883.aspx#reviewprocess http://techrights.org/2012/06/29/traps-behind-uefi/ http://en.altlinux.org/UEFI_SecureBoot_mini-HOWTO http://www.itworld.com/article/2737487/it-management/microsoft-washes-its-hands-of-uefi-linux-mess.html Thanks, Lee -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
Hello, 2015-06-11 3:59 GMT+02:00 El-Haj-Mahmoud, Samer : > I agree that the license is an issue. Having GPL or LGPL code in EDK2 risks > implementations that use this code. Even if an implementation choses not to > carry this specific driver in binary format, just having the GPL source in > the same tree is a risk. What if developers copy fragments of code from the > GPL licensed driver and use in another module in the tree that is BSD > licensed. Developeers may not pay attention to the license and its > implications since EDK2 so far has used only BSD or BSD-like license. I am not surprise to get some opposition because of the license. Note that the license is LGPL (Lesser GPL) version 2.1 and not Lesser GPL version 3 or GPL (I think GPL license would not be accepted in edk2). It is a political question. Should edk2 accept non BSD licenses? Maybe such code can be stored in a "non-BSD/" (or another more explicit name) sub hierarchy in edk2 to clearly indicates the license difference? I will help the edk2 project as much as I can with this integration. Regards, > -Original Message- > From: Tian, Feng [feng.t...@intel.com] > Received: Wednesday, 10 Jun 2015, 9:52PM > To: edk2-devel@lists.sourceforge.net [edk2-devel@lists.sourceforge.net] > Subject: Re: [edk2] [PATCH 0/4] Add an implementation of > EFI_SMART_CARD_READER_PROTOCOL > > Ludovic, > > The license issue is the biggest concern. EDKII project is BSD license, but > your proposed patch 1 is using LGPL license which may corrupt EDKII project. > > Thanks > Feng > > -Original Message- > From: Ludovic Rousseau [mailto:ludovic.rouss...@gmail.com] > Sent: Thursday, June 11, 2015 02:28 > To: edk2-devel@lists.sourceforge.net > Cc: Ludovic Rousseau > Subject: [edk2] [PATCH 0/4] Add an implementation of > EFI_SMART_CARD_READER_PROTOCOL > > This patch serie provides an implementation for the > EFI_SMART_CARD_READER_PROTOCOL added in UEFI version 2.5. > > It is a port of my CCID driver from Unix to UEFI. Only part of the code has > been specifically written for UEFI and edk2. Only this part of the code > follows the coding rules. The idea os to keep most of the code common to edk2 > and my original CCID driver so code is easy to backport from one project to > the other. > > patch 1: are files from the libccid project [1], GNU LGLP v2.1 patch 2: are > files from the pcsc-lite project [2], TianoCore Contribution Agreement 1.0 > patch 3: are files specifically written for edk2, TianoCore Contribution > Agreement 1.0 patch 4: edit MdeModulePkg/MdeModulePkg.dsc to add the driver, > TianoCore Contribution Agreement 1.0 > > The code has been tested on a Dell E6430 with an internal Broadcom smart card > reader and also different external USB smart card readers. > > [1] https://pcsclite.alioth.debian.org/ccid.html > [2] https://pcsclite.alioth.debian.org/pcsclite.html > > > Ludovic Rousseau (4): > MdeModulePkg/SmartCardReader: Add files from the libccid project > MdeModulePkg/SmartCardReader: Add files from pcsc-lite project > MdeModulePkg/SmartCardReader: Implement Smart Card Reader Protocol > MdeModulePkg: add SmartCardReader.inf > > MdeModulePkg/Library/SmartCardReader/CcidDriver.c | 819 +++ > MdeModulePkg/Library/SmartCardReader/CcidDriver.h | 154 ++ > .../Library/SmartCardReader/ComponentName.c| 198 ++ > .../Library/SmartCardReader/ComponentName.h| 128 ++ > .../Library/SmartCardReader/DriverBinding.h| 211 ++ > MdeModulePkg/Library/SmartCardReader/License.txt | 87 + > .../Library/SmartCardReader/SmartCardReader.inf| 97 + > .../Library/SmartCardReader/SmartCardReader_impl.c | 453 > .../Library/SmartCardReader/SmartCardReader_impl.h | 94 + > MdeModulePkg/Library/SmartCardReader/config.h | 64 + > MdeModulePkg/Library/SmartCardReader/debug.c | 62 + > MdeModulePkg/Library/SmartCardReader/debuglog.h| 81 + > MdeModulePkg/Library/SmartCardReader/ifdhandler.h | 825 +++ > .../Library/SmartCardReader/libccid/ccid.c | 659 ++ > .../Library/SmartCardReader/libccid/ccid.h | 340 +++ > .../SmartCardReader/libccid/ccid_ifdhandler.h | 63 + > .../Library/SmartCardReader/libccid/ccid_uefi.c| 470 > .../Library/SmartCardReader/libccid/ccid_uefi.h| 46 + > .../Library/SmartCardReader/libccid/commands.c | 2294 > > .../Library/SmartCardReader/libccid/commands.h | 64 + > .../Library/SmartCardReader/libccid/debug.c| 157 ++ > .../Library/SmartCardReader/libccid/debug.h| 100 + > .../Library/SmartCardReader/libccid/defs.h | 126 ++ > .../Library/SmartCardReader/libccid/ifdhandler.c | 2
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
> On Jun 10, 2015, at 7:17 PM, Blibbet wrote: > > FAT has a non-BSD license and UEFI Forum found a way to accomodate that > one vendor's legal/licensing issues, and found a separate way for that > to be distributed under Tiano umbrella. The UEFI Forum owns the specifications, not the edk2 open source site. The edk2/Tinao core is an independent open source site. The edk2 is one of many possible implementations of the UEFI Forums specifications. It is probably confusing due to the overlap of people who are members of the UEFI Forum, and work on the open source site. > > All OS vendors don't hate GPL. Some Linux platforms have non-BSD tools > in use today. > BSD is a GPL compatible licence. GPL is NOT a BSD compatible licence. > What about a Tiano way to distribute [L]GPL code, safely separate from > main BSD branch, like FAT driver is dealt with, so GPL-friendly > OSVs/ISVs/OEMs -- everyone but Microsoft? :-) -- can safely use GPL > code? Perhaps other non-BSD, OSI-approved FOSS licensed, and no others? > As you point out we solve issues with licensing by splitting git repos and having separate projects. That is probably a separate conversation from what goes in the edk2 project. > Users of this code will also have to face their main hurdle, getting > Microsoft to bless their EFI code, and their current restrictions > already hinder any GPL code, which gets worse with each Windows release. > I don’t really understand that statement. Microsoft does not “bless” firmware code. The platform vendor can have any firmware implementation they want. There are a set of conformance requirements required to get a discount on the pre-installed Windows, but as far as I know these are mostly quality of implementation tests. Microsoft also happens to be the CA for UEFI Secure Boot. They have no concern about licensing of the code. They, as a good CA must, care about how secure the code is. The UEFI CA will not sign the UEFI Shell for example, as you could use a script to launch code that is not secure. So yes you can’t write a virus (code the loads unsigned code) and get it signed by the CA. That is exactly how UEFI Secure Boot is supposed to work. Thanks, Andrew Fish > There are about 168 UEFI projects on Github today. A few dozen would be > useful to have under Tiano umbrella, current BSD-only licensing issues > would prevent that. A GPL-friendly Tiano subproject would be useful to > gather some code from rEFInd, VirtualBox, and various other Github > projects into one place. Ignoring non-BSD licensed code will continue to > spread UEFI projects in non-Tiano umbrellas and not fix the problem. > > On 06/10/2015 06:59 PM, El-Haj-Mahmoud, Samer wrote: >> I agree that the license is an issue. Having GPL or LGPL code in EDK2 > risks implementations that use this code. Even if an implementation > choses not to carry this specific driver in binary format, just having > the GPL source in the same tree is a risk. What if developers copy > fragments of code from the GPL licensed driver and use in another module > in the tree that is BSD licensed. Developeers may not pay attention to > the license and its implications since EDK2 so far has used only BSD or > BSD-like license. >> >> -Original Message- >> From: Tian, Feng [feng.t...@intel.com <mailto:feng.t...@intel.com>] >> Received: Wednesday, 10 Jun 2015, 9:52PM >> To: edk2-devel@lists.sourceforge.net >> <mailto:edk2-devel@lists.sourceforge.net> [edk2-devel@lists.sourceforge.net >> <mailto:edk2-devel@lists.sourceforge.net>] >> Subject: Re: [edk2] [PATCH 0/4] Add an implementation of > EFI_SMART_CARD_READER_PROTOCOL >> >> Ludovic, >> >> The license issue is the biggest concern. EDKII project is BSD > license, but your proposed patch 1 is using LGPL license which may > corrupt EDKII project. > > > -- > ___ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net <mailto:edk2-devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/edk2-devel > <https://lists.sourceforge.net/lists/listinfo/edk2-devel> -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
FAT has a non-BSD license and UEFI Forum found a way to accomodate that one vendor's legal/licensing issues, and found a separate way for that to be distributed under Tiano umbrella. All OS vendors don't hate GPL. Some Linux platforms have non-BSD tools in use today. What about a Tiano way to distribute [L]GPL code, safely separate from main BSD branch, like FAT driver is dealt with, so GPL-friendly OSVs/ISVs/OEMs -- everyone but Microsoft? :-) -- can safely use GPL code? Perhaps other non-BSD, OSI-approved FOSS licensed, and no others? Users of this code will also have to face their main hurdle, getting Microsoft to bless their EFI code, and their current restrictions already hinder any GPL code, which gets worse with each Windows release. There are about 168 UEFI projects on Github today. A few dozen would be useful to have under Tiano umbrella, current BSD-only licensing issues would prevent that. A GPL-friendly Tiano subproject would be useful to gather some code from rEFInd, VirtualBox, and various other Github projects into one place. Ignoring non-BSD licensed code will continue to spread UEFI projects in non-Tiano umbrellas and not fix the problem. On 06/10/2015 06:59 PM, El-Haj-Mahmoud, Samer wrote: > I agree that the license is an issue. Having GPL or LGPL code in EDK2 risks implementations that use this code. Even if an implementation choses not to carry this specific driver in binary format, just having the GPL source in the same tree is a risk. What if developers copy fragments of code from the GPL licensed driver and use in another module in the tree that is BSD licensed. Developeers may not pay attention to the license and its implications since EDK2 so far has used only BSD or BSD-like license. > > -Original Message- > From: Tian, Feng [feng.t...@intel.com] > Received: Wednesday, 10 Jun 2015, 9:52PM > To: edk2-devel@lists.sourceforge.net [edk2-devel@lists.sourceforge.net] > Subject: Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL > > Ludovic, > > The license issue is the biggest concern. EDKII project is BSD license, but your proposed patch 1 is using LGPL license which may corrupt EDKII project. -- ___ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
I agree that the license is an issue. Having GPL or LGPL code in EDK2 risks implementations that use this code. Even if an implementation choses not to carry this specific driver in binary format, just having the GPL source in the same tree is a risk. What if developers copy fragments of code from the GPL licensed driver and use in another module in the tree that is BSD licensed. Developeers may not pay attention to the license and its implications since EDK2 so far has used only BSD or BSD-like license. -Original Message- From: Tian, Feng [feng.t...@intel.com] Received: Wednesday, 10 Jun 2015, 9:52PM To: edk2-devel@lists.sourceforge.net [edk2-devel@lists.sourceforge.net] Subject: Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL Ludovic, The license issue is the biggest concern. EDKII project is BSD license, but your proposed patch 1 is using LGPL license which may corrupt EDKII project. Thanks Feng -Original Message- From: Ludovic Rousseau [mailto:ludovic.rouss...@gmail.com] Sent: Thursday, June 11, 2015 02:28 To: edk2-devel@lists.sourceforge.net Cc: Ludovic Rousseau Subject: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL This patch serie provides an implementation for the EFI_SMART_CARD_READER_PROTOCOL added in UEFI version 2.5. It is a port of my CCID driver from Unix to UEFI. Only part of the code has been specifically written for UEFI and edk2. Only this part of the code follows the coding rules. The idea os to keep most of the code common to edk2 and my original CCID driver so code is easy to backport from one project to the other. patch 1: are files from the libccid project [1], GNU LGLP v2.1 patch 2: are files from the pcsc-lite project [2], TianoCore Contribution Agreement 1.0 patch 3: are files specifically written for edk2, TianoCore Contribution Agreement 1.0 patch 4: edit MdeModulePkg/MdeModulePkg.dsc to add the driver, TianoCore Contribution Agreement 1.0 The code has been tested on a Dell E6430 with an internal Broadcom smart card reader and also different external USB smart card readers. [1] https://pcsclite.alioth.debian.org/ccid.html [2] https://pcsclite.alioth.debian.org/pcsclite.html Ludovic Rousseau (4): MdeModulePkg/SmartCardReader: Add files from the libccid project MdeModulePkg/SmartCardReader: Add files from pcsc-lite project MdeModulePkg/SmartCardReader: Implement Smart Card Reader Protocol MdeModulePkg: add SmartCardReader.inf MdeModulePkg/Library/SmartCardReader/CcidDriver.c | 819 +++ MdeModulePkg/Library/SmartCardReader/CcidDriver.h | 154 ++ .../Library/SmartCardReader/ComponentName.c| 198 ++ .../Library/SmartCardReader/ComponentName.h| 128 ++ .../Library/SmartCardReader/DriverBinding.h| 211 ++ MdeModulePkg/Library/SmartCardReader/License.txt | 87 + .../Library/SmartCardReader/SmartCardReader.inf| 97 + .../Library/SmartCardReader/SmartCardReader_impl.c | 453 .../Library/SmartCardReader/SmartCardReader_impl.h | 94 + MdeModulePkg/Library/SmartCardReader/config.h | 64 + MdeModulePkg/Library/SmartCardReader/debug.c | 62 + MdeModulePkg/Library/SmartCardReader/debuglog.h| 81 + MdeModulePkg/Library/SmartCardReader/ifdhandler.h | 825 +++ .../Library/SmartCardReader/libccid/ccid.c | 659 ++ .../Library/SmartCardReader/libccid/ccid.h | 340 +++ .../SmartCardReader/libccid/ccid_ifdhandler.h | 63 + .../Library/SmartCardReader/libccid/ccid_uefi.c| 470 .../Library/SmartCardReader/libccid/ccid_uefi.h| 46 + .../Library/SmartCardReader/libccid/commands.c | 2294 .../Library/SmartCardReader/libccid/commands.h | 64 + .../Library/SmartCardReader/libccid/debug.c| 157 ++ .../Library/SmartCardReader/libccid/debug.h| 100 + .../Library/SmartCardReader/libccid/defs.h | 126 ++ .../Library/SmartCardReader/libccid/ifdhandler.c | 2265 +++ .../Library/SmartCardReader/libccid/openct/LICENSE | 28 + .../Library/SmartCardReader/libccid/openct/README |7 + .../SmartCardReader/libccid/openct/buffer.c| 73 + .../SmartCardReader/libccid/openct/buffer.h| 36 + .../SmartCardReader/libccid/openct/checksum.c | 95 + .../SmartCardReader/libccid/openct/checksum.h | 37 + .../SmartCardReader/libccid/openct/proto-t1.c | 800 +++ .../SmartCardReader/libccid/openct/proto-t1.h | 85 + .../SmartCardReader/libccid/towitoko/COPYING | 505 + .../SmartCardReader/libccid/towitoko/README| 14 + .../Library/SmartCardReader/libccid/towitoko/atr.c | 365 .../Library/SmartCardReader/libccid/towitoko/atr.h | 111 + .../SmartCardReader/libccid/towitoko/defines.h | 56 + .../Library/SmartCardReader/libccid/towitoko/pps.c | 136 ++ .../Library/SmartCardReader/libccid/towitoko/pps.h | 71 + .../Library
Re: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL
Ludovic, The license issue is the biggest concern. EDKII project is BSD license, but your proposed patch 1 is using LGPL license which may corrupt EDKII project. Thanks Feng -Original Message- From: Ludovic Rousseau [mailto:ludovic.rouss...@gmail.com] Sent: Thursday, June 11, 2015 02:28 To: edk2-devel@lists.sourceforge.net Cc: Ludovic Rousseau Subject: [edk2] [PATCH 0/4] Add an implementation of EFI_SMART_CARD_READER_PROTOCOL This patch serie provides an implementation for the EFI_SMART_CARD_READER_PROTOCOL added in UEFI version 2.5. It is a port of my CCID driver from Unix to UEFI. Only part of the code has been specifically written for UEFI and edk2. Only this part of the code follows the coding rules. The idea os to keep most of the code common to edk2 and my original CCID driver so code is easy to backport from one project to the other. patch 1: are files from the libccid project [1], GNU LGLP v2.1 patch 2: are files from the pcsc-lite project [2], TianoCore Contribution Agreement 1.0 patch 3: are files specifically written for edk2, TianoCore Contribution Agreement 1.0 patch 4: edit MdeModulePkg/MdeModulePkg.dsc to add the driver, TianoCore Contribution Agreement 1.0 The code has been tested on a Dell E6430 with an internal Broadcom smart card reader and also different external USB smart card readers. [1] https://pcsclite.alioth.debian.org/ccid.html [2] https://pcsclite.alioth.debian.org/pcsclite.html Ludovic Rousseau (4): MdeModulePkg/SmartCardReader: Add files from the libccid project MdeModulePkg/SmartCardReader: Add files from pcsc-lite project MdeModulePkg/SmartCardReader: Implement Smart Card Reader Protocol MdeModulePkg: add SmartCardReader.inf MdeModulePkg/Library/SmartCardReader/CcidDriver.c | 819 +++ MdeModulePkg/Library/SmartCardReader/CcidDriver.h | 154 ++ .../Library/SmartCardReader/ComponentName.c| 198 ++ .../Library/SmartCardReader/ComponentName.h| 128 ++ .../Library/SmartCardReader/DriverBinding.h| 211 ++ MdeModulePkg/Library/SmartCardReader/License.txt | 87 + .../Library/SmartCardReader/SmartCardReader.inf| 97 + .../Library/SmartCardReader/SmartCardReader_impl.c | 453 .../Library/SmartCardReader/SmartCardReader_impl.h | 94 + MdeModulePkg/Library/SmartCardReader/config.h | 64 + MdeModulePkg/Library/SmartCardReader/debug.c | 62 + MdeModulePkg/Library/SmartCardReader/debuglog.h| 81 + MdeModulePkg/Library/SmartCardReader/ifdhandler.h | 825 +++ .../Library/SmartCardReader/libccid/ccid.c | 659 ++ .../Library/SmartCardReader/libccid/ccid.h | 340 +++ .../SmartCardReader/libccid/ccid_ifdhandler.h | 63 + .../Library/SmartCardReader/libccid/ccid_uefi.c| 470 .../Library/SmartCardReader/libccid/ccid_uefi.h| 46 + .../Library/SmartCardReader/libccid/commands.c | 2294 .../Library/SmartCardReader/libccid/commands.h | 64 + .../Library/SmartCardReader/libccid/debug.c| 157 ++ .../Library/SmartCardReader/libccid/debug.h| 100 + .../Library/SmartCardReader/libccid/defs.h | 126 ++ .../Library/SmartCardReader/libccid/ifdhandler.c | 2265 +++ .../Library/SmartCardReader/libccid/openct/LICENSE | 28 + .../Library/SmartCardReader/libccid/openct/README |7 + .../SmartCardReader/libccid/openct/buffer.c| 73 + .../SmartCardReader/libccid/openct/buffer.h| 36 + .../SmartCardReader/libccid/openct/checksum.c | 95 + .../SmartCardReader/libccid/openct/checksum.h | 37 + .../SmartCardReader/libccid/openct/proto-t1.c | 800 +++ .../SmartCardReader/libccid/openct/proto-t1.h | 85 + .../SmartCardReader/libccid/towitoko/COPYING | 505 + .../SmartCardReader/libccid/towitoko/README| 14 + .../Library/SmartCardReader/libccid/towitoko/atr.c | 365 .../Library/SmartCardReader/libccid/towitoko/atr.h | 111 + .../SmartCardReader/libccid/towitoko/defines.h | 56 + .../Library/SmartCardReader/libccid/towitoko/pps.c | 136 ++ .../Library/SmartCardReader/libccid/towitoko/pps.h | 71 + .../Library/SmartCardReader/libccid/utils.c| 85 + .../Library/SmartCardReader/libccid/utils.h| 33 + MdeModulePkg/Library/SmartCardReader/misc.h| 88 + MdeModulePkg/Library/SmartCardReader/pcsclite.h| 65 + MdeModulePkg/Library/SmartCardReader/reader.h | 285 +++ MdeModulePkg/Library/SmartCardReader/wintypes.h| 120 + MdeModulePkg/MdeModulePkg.dsc |1 + 46 files changed, 12953 insertions(+) create mode 100644 MdeModulePkg/Library/SmartCardReader/CcidDriver.c create mode 100644 MdeModulePkg/Library/SmartCardReader/CcidDriver.h create mode 100644 MdeModulePkg/Library/SmartCardReader/ComponentName.c create mode 100644 MdeModulePkg/Library/SmartCardReader/ComponentName.h create mode 100644 MdeMod