Misplaced Pages

FFTW

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

The Fastest Fourier Transform in the West ( FFTW ) is a software library for computing discrete Fourier transforms (DFTs) developed by Matteo Frigo and Steven G. Johnson at the Massachusetts Institute of Technology .

#468531

83-461: FFTW is one of the fastest free software implementations of the fast Fourier transform (FFT). It implements the FFT algorithm for real and complex -valued arrays of arbitrary size and dimension. FFTW expeditiously transforms data by supporting a variety of algorithms and choosing the one (a particular decomposition of the transform into smaller transforms) it estimates or measures to be preferable in

166-428: A negative or positive liberty . Due to their restrictions on distribution, not everyone considers copyleft licenses to be free. Conversely, a permissive license may provide an incentive to create non-free software by reducing the cost of developing restricted software. Since this is incompatible with the spirit of software freedom, many people consider permissive licenses to be less free than copyleft licenses. There

249-466: A software license whereby the author grants users the aforementioned rights. Software that is not covered by copyright law, such as software in the public domain , is free as long as the source code is also in the public domain, or otherwise available without restrictions. Proprietary software uses restrictive software licences or EULAs and usually does not provide users with the source code. Users are thus legally or technically prevented from changing

332-489: A binary compatibility layer . This is much simpler and faster than emulation ; for example, it allows applications intended for Linux to be run at effectively full speed. This makes BSDs not only suitable for server environments, but also for workstation ones, given the increasing availability of commercial or closed-source software for Linux only. This also allows administrators to migrate legacy commercial applications, which may have only supported commercial Unix variants, to

415-488: A bit more BSD-flavored than SysVish, but it was pretty eclectic. Eric S. Raymond summarizes the longstanding relationship between System V and BSD, stating, "The divide was roughly between longhairs and shorthairs; programmers and technical people tended to line up with Berkeley and BSD, more business-oriented types with AT&T and System V." In 1989, David A. Curry wrote about the differences between BSD and System V. He characterized System V as being often regarded as

498-529: A copy of the free application itself. Fees are usually charged for distribution on compact discs and bootable USB drives, or for services of installing or maintaining the operation of free software. Development of large, commercially used free software is often funded by a combination of user donations, crowdfunding , corporate contributions, and tax money. The SELinux project at the United States National Security Agency

581-453: A drop in revenue to the proprietary software industry by about $ 60 billion per year. Eric S. Raymond argued that the term free software is too ambiguous and intimidating for the business community. Raymond promoted the term open-source software as a friendlier alternative for the business and corporate world. Berkeley Software Distribution The Berkeley Software Distribution or Berkeley Standard Distribution ( BSD )

664-561: A fee. The Free Software Foundation encourages selling free software. As the Foundation has written, "distributing free software is an opportunity to raise funds for development. Don't waste it!". For example, the FSF's own recommended license (the GNU GPL ) states that "[you] may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for

747-450: A fee." Microsoft CEO Steve Ballmer stated in 2001 that "open source is not available to commercial companies. The way the license is written, if you use any open-source software, you have to make the rest of your software open source." This misunderstanding is based on a requirement of copyleft licenses (like the GPL) that if one distributes modified versions of software, they must release

830-494: A for-profit, commercial activity or not. Some free software is developed by volunteer computer programmers while other is developed by corporations; or even by both. Although both definitions refer to almost equivalent corpora of programs, the Free Software Foundation recommends using the term "free software" rather than " open-source software " (an alternative, yet similar, concept coined in 1998), because

913-440: A free software (including profiting from them) regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users (not just the developer) ultimate control over the software and, subsequently, over their devices. The right to study and modify a computer program entails that the source code —the preferred format for making changes—be made available to users of that program. While this

SECTION 10

#1732779691469

996-481: A more modern operating system, retaining the functionality of such applications until they can be replaced by a better alternative. Current BSD operating system variants support many of the common IEEE , ANSI , ISO , and POSIX standards, while retaining most of the traditional BSD behavior. Like AT&T Unix , the BSD kernel is monolithic , meaning that device drivers in the kernel run in privileged mode , as part of

1079-571: A significant part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies . Free software allows users to cooperate in enhancing and refining the programs they use; free software is a pure public good rather than a private good . Companies that contribute to free software increase commercial innovation . "We migrated key functions from Windows to Linux because we needed an operating system that

1162-592: A single call (e.g., where the data is interleaved in memory). FFTW has limited support for out-of-order transforms (using the Message Passing Interface (MPI) version). The data reordering incurs an overhead, which for in-place transforms of arbitrary size and dimension is non-trivial to avoid. It is undocumented for which transforms this overhead is significant. FFTW is licensed under the GNU General Public License . It

1245-498: A small set of licenses. The most popular of these licenses are: The Free Software Foundation and the Open Source Initiative both publish lists of licenses that they find to comply with their own definitions of free software and open-source software respectively: The FSF list is not prescriptive: free-software licenses can exist that the FSF has not heard about, or considered important enough to write about. So it

1328-400: A visiting professor. He helped to install Version 6 Unix and started working on a Pascal implementation for the system. Graduate students Chuck Haley and Bill Joy improved Thompson's Pascal and implemented an improved text editor, ex . Other universities became interested in the software at Berkeley, and so in 1977 Joy started compiling the first Berkeley Software Distribution (1BSD), which

1411-547: Is a discontinued operating system based on Research Unix , developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley . Since the original has become obsolete, the term "BSD" is commonly used for its open-source descendants, including FreeBSD , OpenBSD , NetBSD , and DragonFly BSD . BSD was initially called Berkeley Unix because it

1494-454: Is advantageous to measure the performance of some or all of the supported algorithms on the given array size and platform . These measurements, which the authors refer to as "wisdom", can be stored in a file or string for later use. FFTW has a "guru interface" that intends "to expose as much as possible of the flexibility in the underlying FFTW architecture". This allows, among other things, multi-dimensional transforms and multiple transforms in

1577-470: Is also licensed commercially (for a cost of up to $ 12,500) by MIT and is used in the commercial MATLAB matrix package for calculating FFTs. FFTW is written in the C language, but Fortran and Ada interfaces exist, as well as interfaces for a few other languages. While the library itself is C, the code is actually generated from a program called ' genfft ', which is written in OCaml . In 1999, FFTW won

1660-617: Is an example of a federally funded free-software project. Proprietary software, on the other hand, tends to use a different business model, where a customer of the proprietary application pays a fee for a license to legally access and use it. This license may grant the customer the ability to configure some or no parts of the software themselves. Often some level of support is included in the purchase of proprietary software, but additional support services (especially for enterprise applications) are usually available for an additional fee. Some proprietary software vendors will also customize software for

1743-466: Is biased by counting more vulnerabilities for the free software systems, since their source code is accessible and their community is more forthcoming about what problems exist as a part of full disclosure , and proprietary software systems can have undisclosed societal drawbacks, such as disenfranchising less fortunate would-be users of free programs. As users can analyse and trace the source code, many more people with no commercial constraints can inspect

SECTION 20

#1732779691469

1826-545: Is consistent with the intended meaning unlike the term "Open Source". The loan adjective " libre " is often used to avoid the ambiguity of the word "free" in the English language , and the ambiguity with the older usage of "free software" as public-domain software. ( See Gratis versus libre . ) The first formal definition of free software was published by FSF in February 1986. That definition, written by Richard Stallman ,

1909-488: Is credited with tying it to the sense under discussion and starting the free software movement in 1983, when he launched the GNU Project : a collaborative effort to create a freedom-respecting operating system , and to revive the spirit of cooperation once prevalent among hackers during the early days of computing. Free software differs from: For software under the purview of copyright to be free, it must carry

1992-451: Is debate over the security of free software in comparison to proprietary software, with a major issue being security through obscurity . A popular quantitative test in computer security is to use relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products that lack fixes for known security flaws, at least until a fix is available. Free software advocates strongly believe that this methodology

2075-463: Is like considering the practical advantages of not being handcuffed, in that it is not necessary for an individual to consider practical reasons in order to realize that being handcuffed is undesirable in itself. The FSF also notes that "Open Source" has exactly one specific meaning in common English, namely that "you can look at the source code." It states that while the term "Free Software" can lead to two different interpretations, at least one of them

2158-526: Is much more suited to a research environment, which requires a faster file system, better virtual memory handling, and a larger variety of programming languages . Berkeley's Unix was the first Unix to include libraries supporting the Internet Protocol stacks: Berkeley sockets . A Unix implementation of IP's predecessor, the ARPAnet's NCP , with FTP and Telnet clients, had been produced at

2241-495: Is not endorsed by the FSF and does not use Linux-libre, it is also a popular distribution available without kernel blobs by default since 2011. The Linux community uses the term "blob" to refer to all nonfree firmware in a kernel whereas OpenBSD uses the term to refer to device drivers. The FSF does not consider OpenBSD to be blob free under the Linux community's definition of blob. Selling software under any free-software licence

2324-601: Is not in the IT sector choose free software for their Internet information and sales sites, due to the lower initial capital investment and ability to freely customize the application packages. Most companies in the software business include free software in their commercial products if the licenses allow that. Free software is generally available at no cost and can result in permanently lower TCO ( total cost of ownership ) compared to proprietary software . With free software, businesses can fit software to their specific needs by changing

2407-556: Is often called "access to source code" or "public availability", the Free Software Foundation (FSF) recommends against thinking in those terms, because it might give the impression that users have an obligation (as opposed to a right) to give non-users a copy of the program. Although the term "free software" had already been used loosely in the past and other permissive software like the Berkeley Software Distribution released in 1978 existed, Richard Stallman

2490-415: Is permissible, as is commercial use. This is true for licenses with or without copyleft . Since free software may be freely redistributed, it is generally available at little or no fee. Free software business models are usually based on adding value such as customization, accompanying hardware, support, training, integration, or certification. Exceptions exist however, where the user is charged to obtain

2573-521: Is possible for a license to be free and not in the FSF list. The OSI list only lists licenses that have been submitted, considered and approved. All open-source licenses must meet the Open Source Definition in order to be officially recognized as open source software. Free software, on the other hand, is a more informal classification that does not rely on official recognition. Nevertheless, software licensed under licenses that do not meet

FFTW - Misplaced Pages Continue

2656-644: Is still maintained today and states that software is free software if people who receive a copy of the software have the following four freedoms. The numbering begins with zero, not only as a spoof on the common usage of zero-based numbering in programming languages, but also because "Freedom 0" was not initially included in the list, but later added first in the list as it was considered very important. Freedoms 1 and 3 require source code to be available because studying and modifying software without its source code can range from highly impractical to nearly impossible. Thus, free software means that computer users have

2739-613: Is summarized at the Debian web site. It is rare that a license announced as being in-compliance with the FSF guidelines does not also meet the Open Source Definition , although the reverse is not necessarily true (for example, the NASA Open Source Agreement is an OSI-approved license, but non-free according to FSF). There are different categories of free software. Proponents of permissive and copyleft licenses disagree on whether software freedom should be viewed as

2822-756: The Apache web server; and the Sendmail mail transport agent. Other influential examples include the Emacs text editor; the GIMP raster drawing and image editor; the X Window System graphical-display system; the LibreOffice office suite; and the TeX and LaTeX typesetting systems. From the 1950s up until the early 1970s, it was normal for computer users to have the software freedoms associated with free software, which

2905-466: The C shell . Some 75 copies of 2BSD were sent out by Bill Joy. A VAX computer was installed at Berkeley in 1978, but the port of Unix to the VAX architecture, UNIX/32V , did not take advantage of the VAX's virtual memory capabilities. The kernel of 32V was largely rewritten to include Berkeley graduate student Özalp Babaoğlu 's virtual memory implementation, and a complete operating system including

2988-830: The GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. He developed a free software definition and the concept of " copyleft ", designed to ensure software freedom for all. Some non-software industries are beginning to use techniques similar to those used in free software development for their research and development process; scientists, for example, are looking towards more open development processes, and hardware such as microchips are beginning to be developed with specifications released under copyleft licenses ( see

3071-474: The J. H. Wilkinson Prize for Numerical Software . Free software Free software , libre software , libreware sometimes known as freedom-respecting software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty , not price; all users are legally free to do what they want with their copies of

3154-744: The Linux kernel and other device drivers motivated some developers in Ireland to launch gNewSense , a Linux-based distribution with all the binary blobs removed. The project received support from the Free Software Foundation and stimulated the creation, headed by the Free Software Foundation Latin America , of the Linux-libre kernel. As of October 2012 , Trisquel is the most popular FSF endorsed Linux distribution ranked by Distrowatch (over 12 months). While Debian

3237-661: The OpenCores project, for instance ). Creative Commons and the free-culture movement have also been largely influenced by the free software movement. In 1983, Richard Stallman , longtime member of the hacker community at the MIT Artificial Intelligence Laboratory , announced the GNU Project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. Software development for

3320-545: The University of Illinois in 1975, and was available at Berkeley. However, the memory scarcity on the PDP-11 forced a complicated design and performance problems. By integrating sockets with the Unix operating system's file descriptors , it became almost as easy to read and write data across a network as it was to access a disk. The AT&T laboratory eventually released their own STREAMS library, which incorporated much of

3403-410: The source code was distributed to use these programs. Software was also shared and distributed as printed source code ( Type-in program ) in computer magazines (like Creative Computing , SoftSide , Compute! , Byte , etc.) and books, like the bestseller BASIC Computer Games . By the early 1970s, the picture changed: software costs were dramatically increasing, a growing software industry

FFTW - Misplaced Pages Continue

3486-544: The "standard Unix." However, he described BSD as more popular among university and government computer centers, due to its advanced features and performance: Most university and government computer centers that use UNIX use Berkeley UNIX, rather than System V. There are several reasons for this, but perhaps the two most significant are that Berkeley UNIX provides networking capabilities that until recently (Release 3.0) were completely unavailable in System V, and that Berkeley UNIX

3569-499: The 9th Edition, which incorporated source code and improvements from 4.3BSD. The result was that these later versions of Research Unix were closer to BSD than they were to System V. In a Usenet posting from 2000, Dennis Ritchie described this relationship between BSD and Research Unix: Research Unix 8th Edition started from (I think) BSD 4.1c, but with enormous amounts scooped out and replaced by our own stuff. This continued with 9th and 10th. The ordinary user command-set was, I guess,

3652-576: The AT&;T code. Within eighteen months, all of the AT&T utilities had been replaced, and it was determined that only a few AT&T files remained in the kernel. These files were removed, and the result was the June 1991 release of Networking Release 2 (Net/2), a nearly complete operating system that was freely distributable. Net/2 was the basis for two separate ports of BSD to the Intel 80386 architecture:

3735-661: The CSRG was dissolved and development of BSD at Berkeley ceased. Since then, several variants based directly or indirectly on 4.4BSD-Lite (such as FreeBSD , NetBSD , OpenBSD and DragonFly BSD ) have been maintained. The permissive nature of the BSD license has allowed many other operating systems, both open-source and proprietary, to incorporate BSD source code. For example, Microsoft Windows used BSD code in its implementation of TCP/IP and bundles recompiled versions of BSD's command-line networking tools since Windows 2000 . Darwin ,

3818-557: The Free Software Definition cannot rightly be considered free software. Apart from these two organizations, the Debian project is seen by some to provide useful advice on whether particular licenses comply with their Debian Free Software Guidelines . Debian does not publish a list of approved licenses, so its judgments have to be tracked by checking what software they have allowed into their software archives. That

3901-631: The GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto . The manifesto included significant explanation of the GNU philosophy, Free Software Definition and " copyleft " ideas. The Linux kernel , started by Linus Torvalds , was released as freely modifiable source code in 1991. The first licence

3984-525: The Internet. Users can easily download and install those applications via a package manager that comes included with most Linux distributions . The Free Software Directory maintains a large database of free-software packages. Some of the best-known examples include Linux-libre , Linux-based operating systems, the GNU Compiler Collection and C library ; the MySQL relational database;

4067-494: The System V copyright and the Unix trademark. The USL v. BSDi lawsuit was filed in 1992 and led to an injunction on the distribution of Net/2 until the validity of USL's copyright claims on the source could be determined. The lawsuit slowed development of the free-software descendants of BSD for nearly two years while their legal status was in question, and as a result systems based on the Linux kernel , which did not have such legal ambiguity, gained greater support. The lawsuit

4150-410: The basis for Apple's macOS and iOS , is based on 4.4BSD-Lite2 and FreeBSD. Various commercial Unix operating systems, such as Solaris , also incorporate BSD code. Starting with the 8th Edition, versions of Research Unix at Bell Labs had a close relationship to BSD. This began when 4.1cBSD for the VAX was used as the basis for Research Unix 8th Edition. This continued in subsequent versions, such as

4233-422: The basis for several open-source operating systems including FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Darwin and TrueOS . These, in turn, have been used by proprietary operating systems, including Apple 's macOS and iOS , which derived from them and Microsoft Windows (since at least 2000 and XP ), which used (at least) part of its TCP/IP code, which was legal. Code from FreeBSD was also used to create

SECTION 50

#1732779691469

4316-588: The code and find bugs and loopholes than a corporation would find practicable. According to Richard Stallman, user access to the source code makes deploying free software with undesirable hidden spyware functionality far more difficult than for proprietary software. Some quantitative studies have been done on the subject. In 2006, OpenBSD started the first campaign against the use of binary blobs in kernels . Blobs are usually freely distributable device drivers for hardware from vendors that do not reveal driver source code to users or developers. This restricts

4399-412: The core of the operating system. Several operating systems are based on BSD, including FreeBSD , OpenBSD , NetBSD , MidnightBSD , MirOS BSD , GhostBSD , Darwin and DragonFly BSD . Both NetBSD and FreeBSD were created in 1993. They were initially derived from 386BSD (also known as "Jolix"), and merged the 4.4BSD-Lite source code in 1994. OpenBSD was forked from NetBSD in 1995, and DragonFly BSD

4482-458: The free 386BSD by William and Lynne Jolitz , and the proprietary BSD/386 (later renamed BSD/OS) by Berkeley Software Design (BSDi). 386BSD itself was short-lived, but became the initial code base of the NetBSD and FreeBSD projects that were started shortly thereafter. BSDi soon found itself in legal trouble with AT&T's Unix System Laboratories (USL) subsidiary, then the owners of

4565-423: The freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis (zero price) software, the Free Software Foundation says: "Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in ' free speech ', not as in 'free beer ' ". ( See Gratis versus libre . ) In

4648-412: The goals and messaging are quite dissimilar. According to the Free Software Foundation, "Open source" and its associated campaign mostly focus on the technicalities of the public development model and marketing free software to businesses, while taking the ethical issue of user rights very lightly or even antagonistically. Stallman has also stated that considering the practical advantages of free software

4731-409: The government charged that bundled software was anti-competitive . While some software might always be free, there would henceforth be a growing amount of software produced primarily for sale. In the 1970s and early 1980s, the software industry began using technical measures (such as only distributing binary copies of computer programs ) to prevent computer users from being able to study or adapt

4814-461: The growth of the Internet. Until then, all versions of BSD used proprietary AT&T Unix code, and were therefore subject to an AT&T software license. Source code licenses had become very expensive and several outside parties had expressed interest in a separate release of the networking code, which had been developed entirely outside AT&T and would not be subject to the licensing requirement. This led to Networking Release 1 ( Net/1 ), which

4897-421: The late 1990s, other groups published their own definitions that describe an almost identical set of software. The most notable are Debian Free Software Guidelines published in 1997, and The Open Source Definition , published in 1998. The BSD -based operating systems, such as FreeBSD , OpenBSD , and NetBSD , do not have their own formal definitions of free software. Users of these systems generally find

4980-499: The new kernel, ports of the 2BSD utilities to the VAX, and the utilities from 32V was released as 3BSD at the end of 1979. 3BSD was also alternatively called Virtual VAX/UNIX or VMUNIX (for Virtual Memory Unix), and BSD kernel images were normally called /vmunix until 4.4BSD. After 4.3BSD was released in June 1986, it was determined that BSD would move away from the aging VAX platform. The Power 6/32 platform (codenamed "Tahoe") developed by Computer Consoles Inc. seemed promising at

5063-496: The operating systems for the PlayStation 5 , PlayStation 4 , PlayStation 3 , PlayStation Vita , and Nintendo Switch . The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify and extend Unix. The operating system arrived at Berkeley in 1974, at the request of computer science professor Bob Fabry who had been on

SECTION 60

#1732779691469

5146-556: The particular circumstances. It works best on arrays of sizes with small prime factors , with powers of two being optimal and large primes being worst case (but still O ( n log n )). To decompose transforms of composite sizes into smaller transforms, it chooses among several variants of the Cooley–Tukey FFT algorithm (corresponding to different factorizations and/or different memory-access patterns), while for prime sizes it uses either Rader's or Bluestein's FFT algorithm . Once

5229-462: The program committee for the Symposium on Operating Systems Principles where Unix was first presented. A PDP-11/45 was bought to run the system, but for budgetary reasons, this machine was shared with the mathematics and statistics groups at Berkeley, who used RSTS , so that Unix only ran on the machine eight hours per day (sometimes during the day, sometimes during the night). A larger PDP-11/70

5312-413: The same functionality in a software stack with a different architecture, but the wide distribution of the existing sockets library reduced the impact of the new API . Early versions of BSD were used to form Sun Microsystems ' SunOS , founding the first wave of popular Unix workstations. Some BSD operating systems can run native software of several other operating systems on the same architecture , using

5395-511: The same set of software to be acceptable, but sometimes see copyleft as restrictive. They generally advocate permissive free software licenses , which allow others to use the software as they wish, without being legally forced to provide the source code. Their view is that this permissive approach is more free. The Kerberos , X11 , and Apache software licenses are substantially similar in intent and implementation. There are thousands of free applications and many operating systems available on

5478-435: The shift in climate surrounding the computer world and its users. In his initial declaration of the project and its purpose, he specifically cited as a motivation his opposition to being asked to agree to non-disclosure agreements and restrictive licenses which prohibited the free sharing of potentially profitable in-development software, a prohibition directly contrary to the traditional hacker ethic . Software development for

5561-461: The software applications as they saw fit. In 1980, copyright law was extended to computer programs. In 1983, Richard Stallman , one of the original authors of the popular Emacs program and a longtime member of the hacker community at the MIT Artificial Intelligence Laboratory , announced the GNU Project , the purpose of which was to produce a completely non-proprietary Unix-compatible operating system, saying that he had become frustrated with

5644-443: The software themselves or by hiring programmers to modify it for them. Free software often has no warranty, and more importantly, generally does not assign legal liability to anyone. However, warranties are permitted between any two parties upon the condition of the software and its usage. Such an agreement is made separately from the free software license. A report by Standish Group estimates that adoption of free software has caused

5727-514: The software, and this results in reliance on the publisher to provide updates, help, and support. ( See also vendor lock-in and abandonware ). Users often may not reverse engineer , modify, or redistribute proprietary software. Beyond copyright law, contracts and a lack of source code, there can exist additional obstacles keeping users from exercising freedom over a piece of software, such as software patents and digital rights management (more specifically, tivoization ). Free software can be

5810-411: The source and use the same license. This requirement does not extend to other software from the same developer. The claim of incompatibility between commercial companies and free software is also a misunderstanding. There are several large companies, e.g. Red Hat and IBM (IBM acquired RedHat in 2019), which do substantial commercial business in the development of free software. Free software played

5893-540: The time, but was abandoned by its developers shortly thereafter. Nonetheless, the 4.3BSD-Tahoe port (June 1988) proved valuable, as it led to a separation of machine-dependent and machine-independent code in BSD which would improve the system's future portability. In addition to portability, the CSRG worked on an implementation of the OSI network protocol stack, improvements to the kernel virtual memory system and (with Van Jacobson of LBL ) new TCP/IP algorithms to accommodate

5976-411: The transform has been broken up into subtransforms of sufficiently small sizes, FFTW uses hard-coded unrolled FFTs for these small sizes that were produced (at compile time , not at run time ) by code generation ; these routines use a variety of algorithms including Cooley–Tukey variants, Rader's algorithm, and prime-factor FFT algorithms . For a sufficiently large number of repeated transforms it

6059-495: The users' freedom effectively to modify the software and distribute modified versions. Also, since the blobs are undocumented and may have bugs , they pose a security risk to any operating system whose kernel includes them. The proclaimed aim of the campaign against blobs is to collect hardware documentation that allows developers to write free software drivers for that hardware, ultimately enabling all free operating systems to become or remain blob-free. The issue of binary blobs in

6142-541: Was a proprietary software licence. However, with version 0.12 in February 1992, he relicensed the project under the GNU General Public License . Much like Unix, Torvalds' kernel attracted the attention of volunteer programmers. FreeBSD and NetBSD (both derived from 386BSD ) were released as free software when the USL v. BSDi lawsuit was settled out of court in 1993. OpenBSD forked from NetBSD in 1995. Also in 1995, The Apache HTTP Server , commonly referred to as Apache,

6225-469: Was based on the source code of the original Unix developed at Bell Labs . In the 1980s, BSD was widely adopted by workstation vendors in the form of proprietary Unix variants such as DEC Ultrix and Sun Microsystems SunOS due to its permissive licensing and familiarity to many technology company founders and engineers. These proprietary BSD derivatives were largely superseded in the 1990s by UNIX SVR4 and OSF/1 . Later releases of BSD provided

6308-402: Was competing with the hardware manufacturer's bundled software products (free in that the cost was included in the hardware cost), leased machines required software support while providing no revenue for software, and some customers able to better meet their own needs did not want the costs of "free" software bundled with hardware product costs. In United States vs. IBM , filed January 17, 1969,

6391-535: Was installed at Berkeley the following year, using money from the Ingres database project. BSD began life as a variant of Unix that programmers at the University of California at Berkeley, initially led by Bill Joy , began developing in the late 1970s. It included extra features, which were intertwined with code owned by AT&T. In 1975, Ken Thompson took a sabbatical from Bell Labs and came to Berkeley as

6474-400: Was made available to non-licensees of AT&T code and was freely redistributable under the terms of the BSD license . It was released in June 1989. After Net/1, BSD developer Keith Bostic proposed that more non-AT&T sections of the BSD system be released under the same license as Net/1. To this end, he started a project to reimplement most of the standard Unix utilities without using

6557-463: Was released on March 9, 1978. 1BSD was an add-on to Version 6 Unix rather than a complete operating system in its own right. Some thirty copies were sent out. The second Berkeley Software Distribution (2BSD), released in May 1979, included updated versions of the 1BSD software as well as two new programs by Joy that persist on Unix systems to this day: the vi text editor (a visual version of ex ) and

6640-476: Was released under the Apache License 1.0 . All free-software licenses must grant users all the freedoms discussed above. However, unless the applications' licenses are compatible, combining programs by mixing source code or directly linking binaries is problematic, because of license technicalities . Programs indirectly connected together may avoid this problem. The majority of free software falls under

6723-559: Was settled in January 1994, largely in Berkeley's favor. Of the 18,000 files in the Berkeley distribution, only three had to be removed and 70 modified to show USL copyright notices. A further condition of the settlement was that USL would not file further lawsuits against users and distributors of the Berkeley-owned code in the upcoming 4.4BSD release. The final release from Berkeley was 1995's 4.4BSD-Lite Release 2 , after which

6806-679: Was stable and reliable – one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could." Official statement of the United Space Alliance , which manages the computer systems for the International Space Station (ISS), regarding their May 2013 decision to migrate ISS computer systems from Windows to Linux The economic viability of free software has been recognized by large corporations such as IBM , Red Hat , and Sun Microsystems . Many companies whose core business

6889-407: Was typically public-domain software . Software was commonly shared by individuals who used computers and by hardware manufacturers who welcomed the fact that people were making software that made their hardware useful. Organizations of users and suppliers, for example, SHARE , were formed to facilitate exchange of software. As software was often written in an interpreted language such as BASIC ,

#468531