EFI and Framework Open Source Community FAQ

Jordan Justen edited this page Nov 10, 2014 · 2 revisions
Clone this wiki locally

The EFI and Framework Open Source Community FAQ

Last updated December 28, 2010

Site-Wide Help Index

Table of Contents

General Overview

Q: What is the EFI and Framework Open Source Community?

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.

Q: Is there any cost associated with using the EFI and Framework Open Source Community?

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.

Q: Can I develop proprietary products using the EFI and Framework Open Source technology?

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.

Q: Can I develop proprietary products using the EFI and Framework Open Source site itself?

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.

Q: Is the EFI and Framework Open Source an open-source BIOS?

A: No, the EFI and Framework open source is not a BIOS, it is a site that houses projects related to platform firmware.

Q: Where can I get a BIOS based on the EFI and Framework open source community's technology?

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).

Q: How does the EFI and Framework open source relate to the UEFI Specification?

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.

Q: What is Intel's involvement in the site?

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.

Q: Who uses the EFI and Framework open source community's technology?

A: Development is of interest to Independent BIOS Vendors (IBVs), Independent Hardware Vendors (IHVs) pre-boot tool vendors and Original Equipment Manufacturers (OEMs).

Q: What types of projects are available?

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.

Q: Why do I need to register to get access to the code, since the code is open-source?

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.

Q: If I register for the site am I no longer anonymous?

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.

Q: How can I get involved in the EFI and Framework Open Source Community?

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.

Q: Do you have a glossary of terms for EFI and Framework open source?

A: We have a web-page that explains various acronyms associated with the EFI effort, located here FAQ.

Q: How can I add to or correct this FAQ?

A: If you have additions, corrections, or suggestions for this FAQ, please send them to the site maintainers at faq@tianocore.org.

Getting Started FAQ

Q: What are the expectations of a member of the EFI and Framework Open Source Community?

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.

Q: What if I only want to download the source code, and not contribute?

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 questions@tianocore.org

Q: How do I become a member of the EFI and Framework Open Source Community?

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).

Q: Do I need any specific client-side tools to participate?

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.

Q: Who do I contact for help or feedback?

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 questions@tianocore.org.

Security FAQ

Q: What will you do with my registration data?

A: Your registration data (name, company, email address) are captured purely to acknowledge your agreement to the Terms of Serviceof the site.

Q: If I register with this community am I opening myself up to more spam?

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.

Q: What is the EDK Project?

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.

Q: What is the FAT-DRIVER Project?

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.

Q: How are the two projects related?

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.

Q: What is the EDK license model?

A: The EDK is released under a BSD license from Intel, explained here.

Q: What is the FAT-DRIVER license model?

A: The FAT-DRIVER source code is governed by a BSD license, modified by Intel, explained here.

Q: Who is managing these projects?

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".

Q: I just want to download the EDK source code, how do I do this?

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.

Q: How to I become part of the EDK contribution team?

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.

Q: How do I get "promoted" within the EDK project?

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.

Q: Are there any particular areas that need contributor support today?

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.

Q: How can I find out how to use the EDK to build drivers?

A: The EDK project has an EDK Getting Started Guide, which helps users understand how to use the EDK to build drivers.

Q: How do I build the EDK?

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.

Q: I found a bug in the EDK, how do I report it?

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.

Starting New Projects FAQ

Q: Am I permitted to start a project on this website?

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.

Q: What types of new projects are desirable?

A: New projects should be related to implementation of the EFI specification. Projects directly related to extending the Framework are especially desired.

Q: How do I submit a request for a new project?

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.