Linux Foundation

Linux Foundation

LF logo.png
Founded 2007 (2007)
Type 501(c)(6) organization
Focus Linux
Location
Origins OSDL & FSG
Area served
Worldwide
Method Promotion, protection, and standardization of Linux by providing unified resources and services needed for open source to successfully compete with closed platforms.
Members
185 Corporate Members, and a multitude of Individual Members[1]
Key people
Website .org.linuxfoundationwww
Jim Zemlin at the opening of the LinuxCon Europe 2014

The Linux Foundation (LF) is a non-profit technology trade association chartered to promote, protect and advance Linux and collaborative development. Founded in 2007 by the merger of the Open Source Development Labs (OSDL) and the Free Standards Group (FSG), the Linux Foundation sponsors the work of Linux creator Linus Torvalds and is supported by leading Linux and open source companies, including prominent technology corporations such as Fujitsu, HP,[2] IBM, Intel, NEC, Oracle, Qualcomm and Samsung,[3] and developers from around the world. In recent years, The Linux Foundation has expanded its services through events, training and certification and Collaborative Projects. Examples of Collaborative Projects at Linux Foundation include OpenDaylight, Open Platform for NFV (OPNFV), AllSeen Alliance, Cloud Foundry and Node.js Foundation.

The Linux Foundation promotes,[4] protects,[5] and standardizes[6] Linux "by providing a comprehensive set of services to compete effectively with closed platforms."[7]

Contents

  • History 1
  • Goals 2
    • Publications 2.1
  • Fields of activity 3
    • Automotive Grade Linux 3.1
    • Linux.com 3.2
    • Linux Videos 3.3
    • Linux Developer Network 3.4
    • Training 3.5
    • Linux Standard Base 3.6
    • Carrier Grade Linux 3.7
    • OpenPrinting 3.8
    • Patent Commons Project 3.9
  • Collaborative Projects 4
    • Code Aurora Forum 4.1
    • Core Infrastructure Initiative 4.2
    • FOSSBazaar 4.3
    • MeeGo 4.4
    • Open Virtualization Alliance (OVA) 4.5
    • bel 4.6
    • OpenDaylight 4.7
    • IO Visor 4.8
    • OpenMama 4.9
    • Tizen 4.10
    • Xen Project 4.11
    • Yocto Project 4.12
  • Members 5
  • Funding 6
  • Events 7
  • References 8
  • External links 9

History

On September 11, 2011, The Linux Foundation's website was taken down due to a breach discovered 27 days prior, including but limited to all attendant subdomains of The Linux Foundation, such as Linux.com.[8] Major parts including OpenPrinting[9] were still offline on October 20, 2011. The restoration was complete on January 4, 2012 (although one site, the Linux Developer Network, will not be restored).[10]

Goals

The Linux Foundation serves as a vendor-neutral spokesperson for Linux and generates original content that advances the understanding of the Linux platform. It also fosters innovation by hosting collaboration events among the Linux technical community, application developers, industry, and end users to solve pressing issues facing Linux. Through the Linux Foundation's community programs, end users, developers, and industry members collaborate on technical, legal, and promotional issues.

In order for Linux Kernel creator Linus Torvalds and other key kernel developers to remain independent, the Linux Foundation sponsors them so they can work full-time on improving Linux. The Linux Foundation also manages the Linux trademark, offers developers legal intellectual property protection, and coordinates industry and community legal collaboration and education.

The Linux Foundation offers application developers standardization services and support that makes Linux an attractive target for their development efforts. These include: the Linux Standard Base (LSB) and the Linux Developer Network.

The Linux Foundation supports the Linux community by offering technical information and education through its annual events, such as the Linux Collaboration Summit, the Linux Kernel Developers Summit, and the general LinuxCon event inaugurated in September 2009.

The Linux Foundation also provides services to key areas of the Linux community, including an open source developer travel fund and other administrative assistance. Through its workgroups, members and developers can collaborate on key technical areas. There is also a training program that is vendor-neutral, technically advanced, and created with the actual leaders of the Linux development community.

Publications

  • www.linuxfoundation.org/publications
    • Linux Adoption Trends: A Survey of Enterprise End Users

http://www.linux.com

Fields of activity

Automotive Grade Linux

Automotive Grade Linux (AGL) is a collaborative open source project developing a common, Linux-based software stack for the connected car.[11] Automotive Grade Linux was announced September 16, 2012.[12] The community's first open source software release is now available for download, bringing the industry one step closer to realizing the benefits of open automotive innovation. With AGL, anyone can have a seat at the table to create and change the platform at its source. Read the press release or visit the AGL wiki[13] to learn more and download the code.

Linux.com

On March 3, 2009, the Linux Foundation announced that they would take over management of SourceForge, Inc.

The site was relaunched on May 13, 2009, shifting away from its previous incarnation as a news site to become a central source for Linux tutorials, information, software, documentation and answers across the server, desktop/netbook, mobile, and embedded areas. It also includes a directory of Linux software and hardware.

Much like Linux itself, Linux.com plans to rely on the community to create and drive the content and conversation.

Linux Videos

The Linux Foundation hosts a Linux video forum where users, developers and vendors can create and share Linux video tutorials. It also includes videos from recent Linux Foundation events, as well as other industry forums. It is the home for the annual Linux Foundation Video Contest.[14] The Linux Foundation plans to add commissioned series of Linux video tutorials on Linux.com in the months ahead.

Linux Developer Network

The Linux Developer Network is an online community for Linux application developers and independent software vendors who want to start or continue to develop applications for the Linux platform.

The Linux Developer Network's goal is to empower developers to target the Linux platform. One of the ways the Linux Developer Network helps developers accomplish this is to help them build portable Linux applications. The Linux Developer Network also gives developers tools to create the best Linux apps possible, no matter which platform developers want to work with.

Training

The Linux Foundation Training Program features instructors and content straight from the leaders of the Linux developer community.

Attendees receive Linux training that is vendor-neutral, technically advanced and created with the actual leaders of the Linux development community themselves. The Linux Foundation Linux training courses, both online and in-person, give attendees the broad, foundational knowledge and networking needed to thrive in their careers.

Linux Standard Base

The filesystem hierarchy, used with Linux operating system. The LSB is based on the POSIX specification, the Single UNIX Specification, and several other open standards, but extends them in certain areas.

According to the LSB:

The goal of the LSB is to develop and promote a set of open standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system even in binary form. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux Operating System.

The LSB compliance may be certified for a product by a certification procedure.[15]

The LSB specifies for example: standard libraries, a number of commands and utilities that extend the POSIX standard, the layout of the file system hierarchy, run levels, the printing system, including spoolers such as CUPS and tools like Foomatic and several extensions to the X Window System.

Carrier Grade Linux

Carrier Grade Linux (CGL) is a set of specifications which detail standards of availability, scalability, manageability, and service response characteristics which must be met in order for Linux kernel-based operating system to be considered "carrier grade" (i.e. ready for use within the telecommunications industry). The term is particularly applicable as telecom converges technically with data networks and commercial off-the-shelf commoditized components such as blade servers.

OpenPrinting

Linux/Unix CUPS printing architecture.

The Free Standards Group.

They developed a database that lists a wide variety of printers from various manufacturers. The database allows people to give a report on the support and quality of each printer, and they also give a report on the support given to Linux by each printer vendor. They have also created a foomatic (formerly cupsomatic) script which plugs into the Common Unix Printing System (CUPS).

Patent Commons Project

The patent commons consists of all patented software which has been made available to the open source community. For software to be considered to be in the commons the patent owner must guarantee that developers will not be sued for infringement, though there may be some restrictions on the use of the patented code. The concept was first given substance by Red Hat in 2001 when it published its Patent Promise.[17]

The Patent Commons Project was launched on November 15, 2005 by the Open Source Development Labs (OSDL). The core of the project is an online patent commons reference library aggregating and documenting information about patent-related pledges and other legal solutions directed at the open-source software community. As of 2015 the project listed 53 patents.[18]

Collaborative Projects

Linux Foundation Collaborative Projects. As of October 2013, the following "Collaborative Projects" were founded (alphabetical order)

Code Aurora Forum

Code Aurora Forum is a consortium of companies with projects serving the mobile wireless industry. Software projects it concerns itself with are e.g. Android for MSM, Femto Linux Project, LLVM, MSM WLAN and Linux-MSM.

Core Infrastructure Initiative

Announced on 25 April 2014 in the wake of Heartbleed to fund and support free and open-source software projects that are critical to the functioning of the Internet.

FOSSBazaar

FOSSBazaar is an open community of technology and industry leaders who are collaborating to accelerate adoption of free and open-source software in the enterprise.

MeeGo

MeeGo was a project to build a Linux kernel-based operating system for mobile devices and IVI. It was the follow up project of Maemo and was superseeded by Tizen and Mer (software distribution).

Open Virtualization Alliance (OVA)

The consortium was founded 2011. At the LinuxCon 2013 it was announced, that it has become a Linux Foundation Collaborative Project. Kernel-based Virtual Machine and oVirt.

bel

The Biological Expression Language (BEL) is a language for representing scientific findings in the life sciences in a computable form. OpenBEL powers SBV Improver Challenge 3. The goal of the Challenge is to perform peer review of a massive number of networks for lung biology. The key is using OpenBEL to represent the biology in a consistent open format that can be turned into a computationally tractable model

OpenDaylight

OpenDaylight is a community-led, open, industry-supported framework, for accelerating adoption, fostering new innovation, reducing risk and creating a more transparent approach to Software-Defined Networking

IO Visor

IO Visor is an open source project and community of developers that will enable a new way to innovate, develop and share IO and networking functions. It will advance IO and networking technologies to address new requirements presented by cloud computing, the Internet of Things (IoT), Software-Defined Networking (SDN) and Network Function Virtualization (NFV).

OpenMama

OpenMAMA (Open Middleware Agnostic Messaging API) is a lightweight vendor-neutral integration layer for systems built on top of a variety of message orientated middlewares.

Tizen

Tizen is a free and open-source, standards-based software platform supported by leading mobile operators, device manufacturers, and silicon suppliers for multiple device categories such as smartphones, tablets, netbooks, in-vehicle infotainment devices, and smart TVs.

Xen Project

The Xen Project team is a global open source community that develops the Xen Hypervisor, contributes to the Linux PVOPS framework, the Xen® Cloud Platform and Xen® ARM.

Yocto Project

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help create custom Linux-based systems for embedded products regardless of the hardware architecture. It was founded in 2010 as a collaboration among many hardware manufacturers, open-source operating systems vendors, and electronics companies to bring some order to the chaos of embedded Linux development.

Members

By the end of April 2013, there are more than 180 corporate members who identify with the ideals & mission of the Linux Foundation:[19][20]

  1. Platinum Members (8), who each donate US$500,000 annually, incl. (listed alphabetically) Fujitsu Ltd, Hewlett-Packard Development Co. LP, Intel Corp., IBM Corp., NEC Corp., Oracle Corp., Qualcomm Innovation Center Inc. and Samsung Electronics Co. Ltd
  2. Gold Members (15), who each donate US$100,000 annually, incl. (listed alphabetically) Advanced Micro Devices Inc., Bloomberg LP, China Mobile Ltd, Cisco Systems Inc., Citrix Systems, Electronics and Telecommunications Research Inst., Google Inc., Hitachi Ltd, Huawei, Motorola Solutions Inc., NetApp Inc., NYSE Technologies, Panasonic Corp., SUSE and Toyota Motor Corp.
  3. Silver Members (224), who each donate US$5,000-20,000 (scaling with number of employees) annually, e.g. (listed alphabetically) Adobe Systems Inc., ARM Holdings PLC, Broadcom Corp., Canonical Ltd, Dell Inc., DreamWorks Animation LLC, EMC Corp., HSA Foundation, Igalia S.L., Inktank, Jaguar Land Rover, Lexmark International, Inc., LG Electronics Inc., MIPS Technologies Inc., Nvidia, OwnCloud, Protecode Inc., PayPal, Red Hat Inc., Renesas Electronics Corp., Siemens AG, Sony Corp., Texas Instruments Inc., Tieto, Tuxera, Twitter, Toshiba Corp., Valve Corporation, VMware Inc, Yahoo, et al.
  4. Affiliates (6).

Funding

Its funding comes primarily from its Platinum Members: Fujitsu, HP, IBM, Intel, NEC, Oracle, Qualcomm, and Samsung and for many years Hitachi.[21] These nine each having a representative on the Board of Directors, they hold a majority on the 16-person board.[22]

As of April 2014, the foundation collects annual fees worth at least 6,245,000 USD:

  • 8 Platinum members
  • 16 Gold members
  • 224 Silver members

Events

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^
  3. ^
  4. ^ LF Collaboration Forum statement
  5. ^ LF Linux Protection statement
  6. ^ About the Linux Standard Base
  7. ^ LPI certifications
  8. ^
  9. ^
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^ Certification. The Linux Foundation (2006-10-20). Retrieved on 2014-05-23.
  16. ^ http://www.openprinting.org/printers
  17. ^
  18. ^
  19. ^ HP pays $500,000 for Linux Foundation Platinum membership
  20. ^ LF Members, 2013-01-27
  21. ^ These are the "Platnum Members", paying US$500,000 per year according to Schedule A in LF's bylaws. That's US$4 million. The Gold Members contribute a combined total of US$1.6, and smaller members less again.
  22. ^

External links

  • Official website
    • Linux Foundation Training
  • Linux.com