Civil Rights
Movements, leaders, victories and the continuing fight for equality.
Explore the people, places, events, achievements, struggles and stories that shaped our journey.
Movements, leaders, victories and the continuing fight for equality.
Innovation, patents, science, technology and world-changing contributions.
Pioneers, champions, Negro Leagues, records, activism and excellence.
Meet the people whose lives, choices and achievements shaped the journey.
Black towns, communities, institutions and places where history happened.
Moments that changed communities, movements, institutions and the nation.
Katherine Johnson’s mathematical calculations helped guide some of America’s most important early space missions while she confronted the racial and gender barriers faced by Black women in twentieth-century America.
MORE →Reflects the personal views, recollections, and perspective of the author, Mike Davis.
This is a personal recollection on the Move fire on May 13, 1985
| Puppet | |
|---|---|
| Developer | Perforce |
| Release | 2005 |
| Stable release | 8.10.0
/ 22 October 2024 |
| Written in | Clojure from 4.0,[1] Ruby |
| Operating system | Linux, Unix-like, Microsoft Windows |
| Type | |
| License | Open Source Puppet: Apache for >2.7.0, GPL for prior versions. Puppet Enterprise: proprietary[2] |
| Website | puppet |
| Repository | |
Puppet is a software configuration management tool used to manage stages of the IT infrastructure lifecycle.[3]
Puppet uses an open-core model; its free-software version was released under version 2 of the GNU General Public License (GPL) until version 2.7.0,[4] and later releases use the Apache License, while Puppet Enterprise uses a proprietary license. Puppet and Puppet Enterprise operate on multiple Unix-like systems (including Linux, Solaris, BSD, Mac OS X, AIX, HP-UX) and have Microsoft Windows support.[5][6] Puppet itself is written in Ruby. Facter, Puppet’s cross-platform system profiling library, is also written in Ruby. Puppet Server and Puppet DB are written in Clojure.[7]
It is developed by Puppet Inc., which is owned by Perforce, which is owned in turn by private equity firms.[8]
Puppet consists of a custom declarative language to describe system configuration.
Puppet is model-driven, requiring limited programming knowledge to use.[9]
Puppet is designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively.

Puppet follows client-server architecture. The client is known as an agent and the server is known as the master. For testing and simple configuration, it can also be used as a stand-alone application run from the command line.
Puppet Server is installed on one or more servers, and Puppet Agent is installed on all the machines to be managed. Puppet Agents communicate with the server and fetch configuration instructions. The Agent then applies the configuration on the system and sends a status report to the server.[10][11]
Puppet resource syntax:
type { 'title':
attribute => value
}
Example resource representing a Unix user:
user { 'harry':
ensure => present,
uid => '1000',
shell => '/bin/bash',
home => '/home/harry'
}
| Puppet, Inc | |
|---|---|
| Type | Private[12] |
| Industry | Computer software[12] |
| Founded | 2005[citation needed] |
| Headquarters | Portland, Oregon, U.S. |
| Key people | Luke Kanies (Founder), Yvonne Wassenaar (CEO), Andrew Shafer |
| Products | Puppet, Puppet Enterprise, and Puppet Forge[13] |
| Owner | Perforce |
| Website | puppet |

Puppet Inc., is a subsidiary of Perforce based in Portland, Oregon, USA.
In 2005, Puppet was founded by former CEO Luke Kanies.[14] On Jan. 29, 2019, Yvonne Wassenaar replaced Sanjay Mirchandani as CEO. Wassenaar previously worked at Airware, New Relic and VMware. In February 2011 Puppet released its first commercial product, Puppet Enterprise, built on its open-source base, with some extra commercial components.[15] Puppet purchased the infrastructure automation firm Distelli in September 2017.[16] Puppet rebranded Distelli's VM Dashboard (a continuous integration / continuous delivery product) as Puppet Pipelines for Applications,[17] and K8s Dashboard as Puppet Pipelines for Containers.[18] The products were made generally available in October, 2017.[19] In May 2018, Puppet released Puppet Discovery, a tool to discover and manipulate resources in hybrid networks.[20] In June 2018, Puppet raised an additional $42 million for a total of $150 million in funding. The round was led by Cisco and included Kleiner Perkins, True Ventures, EDBI, and VMware.[21] Puppet's partners include VMware, Amazon Web Services, Cisco, OpenStack, Microsoft Azure, Eucalyptus, and Zenoss.[22]
In April 2022, it was announced that Puppet had been acquired by the Minneapolis-headquartered software developer Perforce.[23] The company subsequently laid off 15% of Puppet's workforce in Portland.[24]
Following acquisition by Perforce in 2022, subsequent policy changes implemented by Perforce in early 2025 significantly altered the accessibility and distribution of Puppet software which prompted frustration within the open-source community.[25][26]
Perforce announced that future Puppet binaries and packages would be published to a private repository with access granted to community contributors under an End-user license agreement (EULA) and usage beyond 25 nodes would require a commercial license. Although the core Puppet codebase remains licensed under the Apache 2.0 license, the frequency of public commits and updates was reduced. The open-source community criticized these changes, viewing them as a departure from Puppet’s original open-source principles.[27]
Concerns were raised about diminished transparency and the prioritization of commercial interests over community collaboration. In response, members of the community initiated a fork of the project, called OpenVox, with the aim of preserving and continuing the open-source development of Puppet. The new fork also sought to avoid legal complications, as Perforce retained control over the Puppet trademark which restricted its use by third parties.[28]
{{cite web}}: CS1 maint: numeric names: authors list (link)
Source: Wikipedia. Article content is retrieved live through the MediaWiki API.
Clojure (, like closure) is a dynamic and functional dialect of the programming language Lisp on the Java platform. Like most other Lisps, Clojure's syntax is built on S-expressions that are first parsed into data structures by a Lisp reader before being compiled. Clojure's reader supports literal syntax for maps, sets, and vectors along with lists, and these are compiled to the mentioned structures directly. Clojure treats code as data and has a Lisp macro system. Clojure is a Lisp-1 and is not intended to be code-compatible with other dialects of Lisp, since it uses its own set of data structures incompatible with other Lisps. Clojure advocates immutability and immutable data structures and encourages programmers to be explicit about managing identity and its states. This focus on programming with immutable values and explicit progression-of-time constructs is intended to facilitate developing more robust, especially concurrent, programs that are simple and fast. While its type system is entirely dynamic, recent efforts have also sought the implementation of a dependent type system. The language was created by Rich Hickey in the mid-2000s, originally for the Java platform; the language has since been ported to other platforms, such as the Common Language Runtime (.NET). Hickey continues to lead development of the language as its benevolent dictator for life.
Puppet is a software configuration management tool used to manage stages of the IT infrastructure lifecycle. Puppet uses an open-core model; its free-software version was released under version 2 of the GNU General Public License (GPL) until version 2.7.0, and later releases use the Apache License, while Puppet Enterprise uses a proprietary license. Puppet and Puppet Enterprise operate on multiple Unix-like systems (including Linux, Solaris, BSD, Mac OS X, AIX, HP-UX) and have Microsoft Windows support. Puppet itself is written in Ruby. Facter, Puppet’s cross-platform system profiling library, is also written in Ruby. Puppet Server and Puppet DB are written in Clojure. It is developed by Puppet Inc., which is owned by Perforce, which is owned in turn by private equity firms.
Rich Hickey is a computer programmer and speaker, known as the creator of the Clojure programming language.
In computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. It is a declarative programming paradigm in which function definitions are trees of expressions that map values to other values, rather than a sequence of imperative statements which update the running state of the program. In functional programming, functions are treated as first-class entities, meaning that they can be bound to names (including local identifiers), passed as arguments, and returned from other functions, just as any other data type can. This allows programs to be written in a declarative and composable style, where small functions are combined in a modular manner. Functional programming is sometimes treated as synonymous with purely functional programming, a subset of functional programming that treats all functions as deterministic mathematical functions, or pure functions. When a pure function is called with some given arguments, it will always return the same result, and cannot be affected by any mutable state or other side effects. This is in contrast with impure procedures, common in imperative programming, which can have side effects (such as modifying the program's state or taking input from a user). Proponents of purely functional programming claim that by restricting side effects, programs can have fewer bugs, be easier to debug and test, and be more suited to formal verification. Functional programming has its roots in academia, evolving from the lambda calculus, a formal system of computation based only on functions. Functional programming has historically been less popular than imperative programming, but many functional languages are seeing use today in industry and education, including Common Lisp, Scheme, Clojure, Wolfram Language, Racket, Erlang, Elixir, OCaml, Haskell, and F#. Lean is a functional programming language commonly used for verifying mathematical theorems. Functional programming is also key to some languages that have found success in specific domains, like JavaScript in the Web, R in statistics, J, K and Q in financial analysis, and XQuery/XSLT for XML. Domain-specific declarative languages like SQL and Lex/Yacc use some elements of functional programming, such as not allowing mutable values. In addition, many other programming languages support programming in a functional style or have implemented features from functional programming, such as D (since 2007 with the release of D2), C++ (since C++11), C#, Kotlin, Perl, PHP, Python, Go, Rust, Raku, Scala, and Java (since Java 8).
Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.
MORE →The Greenwood District.