EFI and Framework Open Source Community FAQ - lzeng14/tianocore GitHub Wiki
The EFI and Framework Open Source Community FAQ
Last updated December 28, 2010
A: The EFI and Framework Open Source Community is a web-based collaborative software development community, initiated and financed by Intel, managed by CollabNet and open to the public. The main purpose of the communityis to provide a home for Open Source projects that focus their efforts on the Intel Platform Innovation Framework for EFI, or Framework for short. The Framework is an implementation of the Unified Extensible Firmware Interface (UEFI) 2.0 (or later) and the Platform Initialization 1.0 (or later) specifications. The primary project on the site is a development kit to enable platform firmware engineers to write, build, debug and test drivers, option ROMs, and EFI applications within the Framework's pre-boot environment.
A: No, there is no fee to participate in projects on the EFI and Framework open source community website. The site hosting and maintenance fees are paid by Intel, but anyone is allowed to utilize it to build software. We only ask that your work be open-source and related to the EFI initiative.
A: Yes, and you are encouraged to do so, the EDK was developed for that purpose. All BSD-style licenses allow development of either continued open source style products or proprietary products.
A: As an open source site, the EFI and Framework open source website does not support the hosting of proprietary projects. All code submitted to this website must be open-source. You can obtain a list of typical open source licenses from the Open Source Initiative.
A: No, the EFI and Framework open source is not a BIOS, it is a site that houses projects related to platform firmware.
A: Several leading BIOS vendors have developed products based on UEFI technology (some are members of this community). See the links on the homepage for possible vendors.
Q: Does the EFI and Framework open source community website basically containing Intel's "Framework" code?
A: The EFI and Framework open source community website is a software development site that hosts several projects related to the UEFI specification. The EDK project is home to the Foundation portion of the Framework (the portion released open-source by Intel).
A: Tthe EFI and Framework open source community website hosts projects related to the implementation of the UEFI specification, with special focus on projects related to the Framework, Intel's recommended implementation of UEFI.
A: Intel provides financial backing for the site as well as guidance and input into community planning. In addition, they also maintain some of the projects. As the site matures, it is Intel's hope that other stakeholders get involved in the oversight of the EFI and Framework open source community.
A: Development is of interest to Independent BIOS Vendors (IBVs), Independent Hardware Vendors (IHVs) pre-boot tool vendors and Original Equipment Manufacturers (OEMs).
A: Originally, there was one major project on the site, the EFI Developer Kit (EDK) and another small project, the FAT-DRIVER was technically a project, but in reality is simply a component of the EDK that is housed in a separate code repository for licensing purposes. As the site has matured other projects have come into being, and more are expected to sprout up in the future.
A: Even though the code is open-source, it is still governed by a license (in this case a BSD license). Therefore, the EFI and Framework open source community website requires registration, part of which is a click through of a site-wide users agreement, which includes accepting license of projects hosted here. This way registered users can access any code on any project hosted on the EFI and Framework open source community website.
A: If you are registered but not a member of any projects (and you do not post any messages to any mailing lists or discussion forums), no other users can see your information, or that you are even registered. This allows users to remain anonymous until they are ready to participate, yet still be access virtually all areas of the site.
A: This website has a "community" project, which is a gathering place for registered users to collaborate around issues related to the EFI specification. The community project is located here. Join this project and check out the forums and mailing lists included in it. Only through your involvement can this community shape itself into something valuable to the external community of firmware engineers.
A: We have a web-page that explains various acronyms associated with the EFI effort, located here FAQ.
A: If you have additions, corrections, or suggestions for this FAQ, please send them to the site maintainers at [email protected].
A: Expectations of members depend largely on the member's goals. Where some users may simply be here to gain access to the EDK, others may be actual contributors to that project. Others may have their own projects hosted here. Any and all registered users should consider becoming active on the site, either through joining projects or sharing ideas and thoughts in the Community project. As with any open-source web site, the value of the EFI and Framework Open Source Community is a function of the quality of participation of its members. In terms of behavior, all members are expected to be sensitive to others and to the fact that our member base comes from a large variety of countries, cultures and languages.
A: That's perfectly fine. One of the goals of this site is for the EDK to be easily accessible by the various stakeholders. If you have any problems accessing source code and can't find your answers on the site, please send a question to [email protected]
A: You can self-register for membership in the EFI and Framework Open Source Community , see the link in the upper-left hand corner of the homepage. To join individual projects, you need to request membership from the project maintainer; directions are on the project homepage. You don't need to be a member of a project to gain access to the source code, but only project members can participate in project activities (bug fixing, testing, project-level mailing lists, etc).
A: At minimum, you need a Web browser, email client, and Tortoise SVN client. There might be additional domain specific tools you need depending upon the types of development project you want to contribute to. For example, for the EDK project you will need other tools, which are explained in the EDK Getting Started Guide.
A: There are various sources of help on the site, including site-wide Help, New User Forum, and project-level mailing lists and forums. If you can't find your answer through these resources send your question to the EFI and Framework open source community manager at [email protected].
A: Your registration data (name, company, email address) are captured purely to acknowledge your agreement to the Terms of Serviceof the site.
A: Not at all. Joining the EFI and Framework open source community website will not generate spam and in fact, joining the forums and most mailing lists is also a non-spam activity. Some mailing lists could generate a high-level of emails, such as "issues@.." and "commits@.." because mails are sent to those lists every time a bug is updated or a piece of code is committed. As a result most people don't join those lists, they just look at the archives if they have a question. Each project has a "dev" list, which has fluctuating levels of activity depending on how much development is going on. Users who are actively participating in the site will value these mails, while others may choose not to be members. There are many lists and forums on the site, so if you are confused, please post your question on the New User forum, it's sure to be a popular one.
A: The EDK is the open-source part of the Intel Platform Innovation Framework for EFI (for a good overview of the Framework see www.intel.com/technology/efi/efi.htm ). The EDK includes the "Foundation Code" of the Framework, as well as sample drivers and project-specific build tools. The Foundation code represents the core interoperability interfaces between modules and the Framework. The PEI Foundation supports silicon-support modules that are required during the first phase of system initialization, and DXE Foundation supports drivers, including drivers that implement portions of the Framework like PCI and USB, and drivers for various devices on boards. The Foundation code is ‘the green H’ that Intel has shown in multiple IDF presentations on EFI.
A: The FAT-DRIVER project houses the FAT32 Driver portion of the EDK. The only reason the FAT-DRIVER is a separate project is because it is released under a slightly different license than the EDK.
A: Since the FAT32 is essentially part of the EDK, these two projects are tightly coupled, with all issues, mailing lists and discussion forums located in the EDK project. The FAT-DRIVER project has links on its homepage that jump to the EDK project, which may create a bit of confusion. Just be aware of the project name on the page you're looking at and you'll keep it straight.
A: The EDK is released under a BSD license from Intel, explained here.
A: The FAT-DRIVER source code is governed by a BSD license, modified by Intel, explained here.
A: At present an Intel development manager is responsible for managing these projects. In time the community will decide the best way to manage these projects, Intel is simply at the helm at the start to "get the ship out of the harbor".
A: Join the EFI and Framework Open Source Community Website then go here for a directory of zip files associated with either development or official releases of the EDK source code.
A: First, join the EFI and Framework open source community. Then, go to the EDK project homepage and click on "Request Project Membership/Role". The role you should request is "observer" which is the standard entry-level role for project members. Upon approval of the EDK Maintainer, you will find the EDK project listed on your "My Pages" tab, and you'll immediately be able to participate. The project homepage has a link to the EDK Maintainer, who can help you get started.
A: Since the CollabNet platform has role-based permissioning, "promotion" means being given a different role within a project. Promotion within the EDK project is as it is with any typical open-source project, via meritocracy. Through meritocracy, members are given responsibility, access and permissions based on the value they bring to the project. If you are a key contributor to fixing bugs, updating documentation, creating new enhancements, you will be "promoted" quickly. In a nutshell, its up to you how much of an impact you have on the project.
A: Since the project is fairly new, all areas are in need of participation. The EDK project maintainer would like to see interest in participating in testing, bug fixing, documentation and new feature development. The hope is that the project's virtual team's interest will drive participation in a natural direction.
A: The EDK project has an EDK Getting Started Guide, which helps users understand how to use the EDK to build drivers.
A: In essence its as simple as downloading the source code, installing developer tools and running "nmake". Full details of how to build and use the EDK are explained in the EDK Getting Started Guide.
A: The EFI and Framework open source community website uses a fairly robust bug-tracking system called "Project Tracker". See the The EFI and Framework Open Source Resolution Process for an overview of the flow, as well as a deeper explanation of how it works here. If you find a bug with the EDK (or have any EDK-related concerns, questions, issues, etc) your best bet is to post to the "Dev" mailing list in the EDK project. If your issue turns out to be a defect, either you or someone on the list can create a formal defect in the database.
A: If you have an idea for an open-source project related to the EFI specification and the Framework, you are encouraged to consider using the EFI and Framework open source community website as your hosting vehicle.
A: New projects should be related to implementation of the EFI specification. Projects directly related to extending the Framework are especially desired.
A: If you have an idea for a new project please submit your request to the EFI and Framework Open Source community manager at Admin , and your request will be considered and responded to. If it's accepted you'll be given support in setting up and launching your new project.