In computing , the Perl DBI ( Perl Database Interface ) offers a standardized way for programmers using the Perl programming language to embed database communication within their programs. The latest DBI module for Perl from CPAN can run on a range of operating systems .
66-417: In September 1992, Buzz Moschetti , creator of interperl, observed that several bespoke compiled extensions of perl (at the time, perl version 4 or more commonly perl4) featuring connectivity to popular SQL-based databases had emerged, namely Interbase, Informix, Oracle, and Sybase. He engaged the authors of these bespoke versions with the idea of creating a common interface layer to the databases separate from
132-504: A static web hosting service for blogs , project documentation, and books. All GitHub Pages content is stored in a Git repository as files served to visitors verbatim or in Markdown format. GitHub is integrated with Jekyll static website and blog generator and GitHub continuous integration pipelines. Each time the content source is updated, Jekyll regenerates the website and automatically serves it via GitHub Pages infrastructure. Like
198-628: A version number . The distribution infrastructure of CPAN consists of its worldwide network of more than 250 mirrors in more than 60 countries. Each full mirror hosts around 36 gigabytes of data. Most mirrors update themselves hourly, daily or bidaily from the CPAN master site. Some sites are major FTP servers which mirror lots of other software, but others are simply servers owned by companies that use Perl heavily. There are at least two mirrors on every continent except Antarctica. Several search engines have been written to help Perl programmers sort through
264-409: A Campus Expert, applicants must complete an online training course with multiple modules to develop community leadership skills. GitHub also provides some software as a service (SaaS) integrations for adding extra features to projects. Those services include: GitHub Sponsors allows users to make monthly money donations to projects hosted on GitHub. The public beta was announced on May 23, 2019, and
330-406: A cloud provider and has been available as of November 2011 . In November 2020, source code for GitHub Enterprise Server was leaked online in an apparent protest against DMCA takedown of youtube-dl . According to GitHub, the source code came from GitHub accidentally sharing the code with Enterprise customers themselves, not from an attack on GitHub servers. In 2008, GitHub introduced GitHub Pages,
396-559: A community, platform and business. Under Microsoft, the service was led by Xamarin 's Nat Friedman , reporting to Scott Guthrie , executive vice president of Microsoft Cloud and AI. Nat Friedman resigned November 3, 2021; he was replaced by Thomas Dohmke. There have been concerns from developers Kyle Simpson, JavaScript trainer and author, and Rafael Laguna, CEO at Open-Xchange over Microsoft's purchase, citing uneasiness over Microsoft's handling of previous acquisitions, such as Nokia's mobile business and Skype . This acquisition
462-466: A group of volunteers, who will download and test distributions as they are uploaded to CPAN. This enables the authors to have their modules tested on many platforms and environments to which they otherwise lack access, thus improving portability, and quality. Smoke testers send reports, which are then collated and used for a variety of presentation websites, including the main reports site, statistics, and dependencies. Authors can upload new distributions to
528-545: A later time. In addition, GitHub supports the following formats and features: GitHub's Terms of Service do not require public software projects hosted on GitHub to meet the Open Source Definition . The terms of service state, "By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories." GitHub Enterprise is a self-managed version of GitHub with similar functionality. It can be run on an organization's hardware or
594-658: A persistent configuration, but is configured only by the environment and command-line options. cpanminus does not have an interactive shell component. It recognizes the cpanfile format for specifying prerequisites, useful in ad-hoc Perl projects that may not be designed for CPAN installation. cpanminus also has the ability to uninstall distributions. Each of these modules can check a distribution's dependencies and recursively install any prerequisites, either automatically or with individual user approval. Each support FTP and HTTP and can work through firewalls and proxies. Experienced Perl programmers often comment that half of Perl's power
660-572: A registered user account, users can have discussions, manage repositories, submit contributions to others' repositories, and review changes to code . GitHub began offering limited private repositories at no cost in January 2019 (limited to three contributors per project). Previously, only public repositories were free. On April 14, 2020, GitHub made "all of the core GitHub features" free for everyone, including "private repositories with unlimited collaborators." The fundamental software that underpins GitHub
726-416: A search engine are available for issue tracking. For version control, Git (and, by extension, GitHub) allows pull requests to propose changes to the source code. Users who can review the proposed changes can see a diff between the requested changes and approve them. In Git terminology, this action is called "committing" and one instance of it is a "commit." A history of all commits is kept and can be viewed at
SECTION 10
#1732880205881792-510: A significant user of GitHub, using it to host open-source projects and development tools such as .NET Core , Chakra Core , MSBuild , PowerShell , PowerToys , Visual Studio Code , Windows Calculator , Windows Terminal and the bulk of its product documentation (now to be found on Microsoft Docs ). On June 4, 2018, Microsoft announced its intent to acquire GitHub for US$ 7.5 billion (~$ 8.96 billion in 2023). The deal closed on October 26, 2018. GitHub continued to operate independently as
858-401: A statement denying Horvath's allegations. However, following an internal investigation, GitHub confirmed the claims. GitHub's CEO Chris Wanstrath wrote on the company blog, "The investigation found Tom Preston-Werner in his capacity as GitHub's CEO acted inappropriately, including confrontational conduct, disregard of workplace complaints, insensitivity to the impact of his spouse's presence in
924-782: A subset of Latin. In 2005, a group of Perl developers who also had an interest in JavaScript got together to create JSAN , the JavaScript Archive Network. The JSAN is a near-direct port of the CPAN infrastructure for use with the JavaScript language, which for most of its lifespan did not have a cohesive "community". In 2008, after a chance meeting with CPAN admin Adam Kennedy at the Open Source Developers Conference, Linux kernel developer Rusty Russell created
990-496: A subsidiary of Microsoft since 2018. It is commonly used to host open source software development projects. As of January 2023 , GitHub reported having over 100 million developers and more than 420 million repositories , including at least 28 million public repositories. It is the world's largest source code host as of June 2023 . Over five billion developer contributions were made to more than 500 million open source projects in 2024. The development of
1056-403: A total of 135,000 repositories. In 2010, GitHub was hosting 1 million repositories. A year later, this number doubled. ReadWriteWeb reported that GitHub had surpassed SourceForge and Google Code in total number of commits for the period of January to May 2011. On January 16, 2013, GitHub passed the 3 million users mark and was then hosting more than 5 million repositories. By the end of
1122-491: A website that enables designers to market royalty-free digital images . The illustration GitHub chose was a character that Oxley had named Octopuss. Since GitHub wanted Octopuss for their logo (a use that the iStock license disallows), they negotiated with Oxley to buy exclusive rights to the image. GitHub renamed Octopuss to Octocat, and trademarked the character along with the new name. Later, GitHub hired illustrator Cameron McEfee to adapt Octocat for different purposes on
1188-465: Is Git itself, written by Linus Torvalds , creator of Linux. The additional software that provides the GitHub user interface was written using Ruby on Rails and Erlang by GitHub, Inc. developers Wanstrath, Hyett, and Preston-Werner. The primary purpose of GitHub is to facilitate the version control and issue tracking aspects of software development. Labels, milestones, responsibility assignment, and
1254-534: Is a software repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network or the Perl program that acts as an interface to the network and as an automated software installer (somewhat like a package manager ). Most software on CPAN is free and open source software . CPAN
1320-404: Is a popular location to store the source for distributions, it may be stored anywhere the author prefers, or may not be publicly accessible at all. Maintainers may grant permissions to others to maintain or take over their modules, and permissions may be granted by admins for those wishing to take over abandoned modules. Previous versions of updated distributions are retained on CPAN until deleted by
1386-469: Is also provided in the Perl core, and is the usual way of running CPAN.pm. After a short configuration process and mirror selection, it uses tools available on the user's computer to automatically download, unpack, compile, test, and install modules. It can also self-update. An effort to replace CPAN.pm with something cleaner and more modern resulted in the CPANPLUS (or CPAN++) set of modules. CPANPLUS separates
SECTION 20
#17328802058811452-479: Is in the CPAN. It has been called Perl's killer app . It is roughly equivalent to Composer for PHP ; the PyPI (Python Package Index) repository for Python ; RubyGems for Ruby ; CRAN for R ; npm for Node.js ; LuaRocks for Lua ; Maven for Java ; and Hackage for Haskell . CPAN's use of arbitrated name spaces, a testing regime and a well defined documentation style makes it unique. Given its importance to
1518-498: Is indicated on the gist page. GitHub launched a new program called the GitHub Student Developer Pack to give students free access to more than a dozen popular development tools and services. GitHub partnered with Bitnami , Crowdflower , DigitalOcean , DNSimple, HackHands , Namecheap , Orchestrate, Screenhero, SendGrid , Stripe , Travis CI , and Unreal Engine to launch the program. In 2016, GitHub announced
1584-503: Is not enforced. CPAN module distributions usually have names in the form of CGI-Application-3.1 (where the :: used in the module's name has been replaced with a dash, and the version number has been appended to the name), but this is only a convention; many prominent distributions break the convention, especially those that contain multiple modules. Security restrictions prevent a distribution from ever being replaced with an identical filename, so virtually all distribution names do include
1650-424: Is required by law. This includes keeping public repositories services, including those for open source projects, available and accessible to support personal communications involving developers in sanctioned regions. Developers who feel that they should not have restrictions can appeal for the removal of said restrictions, including those who only travel to, and do not reside in, those countries. GitHub has forbidden
1716-464: Is to help programmers locate modules and programs not included in the Perl standard distribution. Its structure is decentralized. Authors maintain and improve their own modules. Forking, and creating competing modules for the same task or purpose, is common. There is a third-party bug tracking system that is automatically set up for any uploaded distribution, but authors may opt to use a different bug tracking system such as GitHub . Similarly, though GitHub
1782-505: Is usually used for larger projects. Tom Preston-Werner débuted the feature at a Ruby conference in 2008. Gist builds on the traditional simple concept of a pastebin by adding version control for code snippets, easy forking, and TLS encryption for private pastes. Because each "gist" is its own Git repository, multiple code snippets can be contained in a single page, and they can be pushed and pulled using Git. Unregistered users could upload Gists until March 19, 2018, when uploading Gists
1848-559: The Svalbard Global Seed Vault . The archive contained the code of all active public repositories, as well as that of dormant but significant public repositories. The 21 TB of data was stored on piqlFilm archival film reels as matrix (2D) barcode ( Boxing barcode ), and is expected to last 500–1,000 years. The GitHub Archive Program is also working with partners on Project Silica, in an attempt to store all public repositories for 10,000 years. It aims to write archives into
1914-849: The CCAN, the Comprehensive C Archive Network. The CCAN is a direct port of the CPAN architecture for use with the C language . CRAN, the Comprehensive R Archive Network, is a set of mirrors hosting the R language distribution(s), documentation, and contributed extensions. GitHub GitHub ( / ˈ ɡ ɪ t h ʌ b / ) is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, which provides distributed version control of access control , bug tracking , software feature requests, task management , continuous integration , and wikis for every project. Headquartered in California , it has been
1980-454: The CPAN are referred to as distributions . A distribution may consist of one or more modules, documentation files, or programs packaged in a common archiving format, such as a gzipped tar archive or a ZIP file. Distributions will often contain installation scripts (usually called Makefile.PL or Build.PL ) and test scripts which can be run to verify the contents of the distribution are functioning properly. New distributions are uploaded to
2046-472: The CPAN through the Perl Authors Upload Server (PAUSE). To do so, they must request a PAUSE account. Once registered, they may use a web interface at pause.perl.org , or an FTP interface to upload files to their directory and delete them. Modules in the upload will only be indexed as canonical if the module name has not been used before (granting first-come permission to the uploader), or if
Perl DBI - Misplaced Pages Continue
2112-513: The CPAN. The official search .cpan .org includes textual search, a browsable index of modules, and extracted copies of all distributions currently on the CPAN. On 16 May 2018, the Perl Foundation announced that search.cpan.org would be shut down on 29 June 2018 (after 19 years of operation), due to its aging codebase and maintenance burden. Users will be transitioned and redirected to the third-party alternative MetaCPAN. CPAN Testers are
2178-585: The DBI and DBD modules indirectly using one of the object-relational mappers available for Perl, such as DBIx::Class , for more database-independent code with no need to write SQL. The DBI and DBD Perl packages allow Perl programmers to access many database environments in a standard way. The system implements each supported database environment as a DBD driver, in much the same way that hardware devices from multiple vendors can operate with different CPU platforms. Prospective DBD users can download DBD implementations from
2244-537: The GitHub platform began on October 19, 2007. The site was launched in April 2008 by Tom Preston-Werner , Chris Wanstrath , P. J. Hyett and Scott Chacon after it had been available for a few months as a beta release . Its name was chosen as a compound of Git and hub . GitHub, Inc. was originally a flat organization with no middle managers, instead relying on self-management . Employees could choose to work on projects that interested them ( open allocation ), but
2310-557: The Internet. DBD implementations exist for proprietary products such as IBM Db2 , Microsoft SQL Server , Oracle and for free-software databases such as SQLite , PostgreSQL , Firebird and MySQL . PHP 5 has a similar interface called PHP Data Objects (PDO). Java's Java Database Connectivity (JDBC) is also similar. This free and open-source software article is a stub . You can help Misplaced Pages by expanding it . CPAN The Comprehensive Perl Archive Network ( CPAN )
2376-472: The Perl interpreter when it is first compiled ; on Unix-like operating systems , common paths include /usr/lib/perl5 , /usr/local/lib/perl5 , and several of their subdirectories. Perl comes with a small set of core modules . Some of these perform bootstrapping tasks, such as ExtUtils::MakeMaker, which is used to create Makefiles for building and installing other extension modules; others, like List::Util, are merely commonly used. CPAN's main purpose
2442-521: The Perl Authors Upload Server, or PAUSE (see the section Uploading distributions with PAUSE ). In 2003, distributions started to include metadata files, called META. yml , indicating the distribution's name, version, dependencies, and other useful information; however, not all distributions contain metadata. When metadata is not present in a distribution, the PAUSE's software will try to analyze
2508-507: The Perl developer community, the CPAN both shapes and is shaped by Perl's culture . Its "self-appointed master librarian", Jarkko Hietaniemi , often takes part in the April Fools' Day jokes; on 1 April 2002 the site was temporarily named to CJAN , where the "J" stood for "Java". In 2003, the www.cpan.org domain name was redirected to Matt's Script Archive , a site infamous in the Perl community for having badly written code. Some of
2574-413: The back-end work of downloading, compiling, and installing modules from the interactive shell used to issue commands. It supports several advanced features, such as cryptographic signature checking, test result reporting, and uninstalling a distribution. CPANPLUS was added to the Perl core in version 5.10.0, and removed from it in version 5.20.0. A smaller, leaner modern alternative to these CPAN installers
2640-463: The chief executive set salaries. In 2014, the company added a layer of middle management in response to serious harassment allegations against its senior leadership. As a result of the scandal, Tom Preston-Werner resigned from his position as CEO. GitHub was a bootstrapped start-up business , which in its first years provided enough revenue to be funded solely by its three founders and start taking on employees. In July 2012, four years after
2706-580: The code in the distribution to look for the same information; this is not necessarily very reliable. In 2010, version 2 of this specification was created to be used via a new file called META. json , with the YAML format file often also included for backward compatibility . With thousands of distributions, CPAN needs to be structured to be useful. Authors often place their modules in the natural hierarchy of Perl module names (such as Apache::DBI or Lingua::EN::Inflect ) according to purpose or domain, though this
Perl DBI - Misplaced Pages Continue
2772-444: The company was founded, Andreessen Horowitz invested $ 100 million in venture capital with a $ 750 million valuation. In July 2015 GitHub raised another $ 250 million (~$ 314 million in 2023) of venture capital in a series B round . The lead investor was Sequoia Capital , and other investors were Andreessen Horowitz , Thrive Capital , IVP (Institutional Venture Partners) and other venture capital funds. The company
2838-482: The distributions on the CPAN are distributed as jokes. The Acme :: hierarchy is reserved for joke modules; for instance, Acme::Don't adds a don't function that doesn't run the code given to it (to complement the do built-in, which does). Even outside the Acme:: hierarchy, some modules are still written largely for amusement; one example is Lingua::Romana::Perligata , which can be used to write Perl programs in
2904-420: The first year of being online, GitHub had accumulated over 46,000 public repositories, 17,000 of which were formed in the previous month. At that time, about 6,200 repositories had been forked at least once, and 4,600 had been merged. That same year, the site was used by over 100,000 users, according to GitHub, and had grown to host 90,000 unique public repositories, 12,000 having been forked at least once, for
2970-511: The first year: it pledges to cover payment processing costs and match sponsorship payments up to $ 5,000 per developer. Furthermore, users can still use similar services like Patreon and Open Collective and link to their websites. In July 2020, GitHub stored a February archive of the site in an abandoned mountain mine in Svalbard , Norway, part of the Arctic World Archive and not far from
3036-527: The launch of the GitHub Campus Experts program to train and encourage students to grow technology communities at their universities. The Campus Experts program is open to university students 18 years and older worldwide. GitHub Campus Experts are one of the primary ways that GitHub funds student-oriented events and communities, Campus Experts are given access to training, funding, and additional resources to run events and grow their communities. To become
3102-433: The media through a spokesperson, saying: GitHub is subject to US trade control laws, and is committed to full compliance with applicable law. At the same time, GitHub's vision is to be the global platform for developer collaboration, no matter where developers reside. As a result, we take seriously our responsibility to examine government mandates thoroughly to be certain that users and customers are not impacted beyond what
3168-421: The molecular structure of quartz glass platters, using a high-precision petahertz pulse laser, i.e. one that pulses a quadrillion (1,000,000,000,000,000) times per second. In March 2014, GitHub programmer Julie Ann Horvath alleged that founder and CEO Tom Preston-Werner and his wife, Theresa, engaged in a pattern of harassment against her that led to her leaving the company. In April 2014, GitHub released
3234-409: The project accepts waitlist registrations. The Verge said that GitHub Sponsors "works exactly like Patreon " because "developers can offer various funding tiers that come with different perks, and they'll receive recurring payments from supporters who want to access them and encourage their work" except with "zero fees to use the program." Furthermore, GitHub offers incentives for early adopters during
3300-422: The rest of GitHub, it includes free and paid service tiers. Websites generated through this service are hosted either as subdomains of the github.io domain or can be connected to custom domains bought through a third-party domain name registrar . GitHub Pages supports HTTPS encryption. GitHub also operates a pastebin -style site called Gist , which is for code snippets , as opposed to GitHub proper, which
3366-499: The sale bolstered interest in competitors: Bitbucket (owned by Atlassian ), GitLab and SourceForge (owned by BIZX, LLC) reported that they had seen spikes in new users intending to migrate projects from GitHub to their respective services. In September 2019, GitHub acquired Semmle , a code analysis tool. In February 2020, GitHub launched in India under the name GitHub India Private Limited. In March 2020, GitHub announced that it
SECTION 50
#17328802058813432-411: The site provides social networking -like functions such as feeds, followers, wikis (using wiki software called Gollum ), and a social network graph to display how developers work on their versions (" forks ") of a repository and what fork (and branch within that fork) is newest. Anyone can browse and download public repositories, but only registered users can contribute content to repositories. With
3498-560: The specifics of the underlying implementations. Tim Bunce took the lead and began specifying what would become the DBI module in 1994 upon the release of perl5 which eliminated the need for bespoke compilation in favor of dynamic, invocation time loading of libraries (modules). As of 2010 the Perl community maintains DBI as a CPAN module in accordance with the open-source model . DBD (DataBase Driver) modules serve as plug-ins to DBI, allowing programmers to use near-database-independent SQL code in their applications. Programmers can also use
3564-433: The uploader has permission for that name, and if the module is a higher version than any existing entry. This can be specified through PAUSE's web interface. There is also a Perl core module named CPAN; it is usually differentiated from the repository itself by using the name CPAN.pm. CPAN.pm is mainly an interactive shell which can be used to search for, download, and install distributions. An interactive shell called cpan
3630-485: The uploader, and a secondary mirror network called BackPAN retains distributions even if they are deleted from CPAN. Also, the complete history of the CPAN and all its modules is available as the GitPAN project, allowing to easily see the complete history for all the modules and for easy maintenance of forks. CPAN is also used to distribute new versions of Perl, as well as related projects, such as Parrot and Raku . Files on
3696-565: The use of VPNs and IP proxies to access the site from sanctioned countries, as purchase history and IP addresses are how they flag users, among other sources. On December 4, 2014, Russia blacklisted GitHub.com because GitHub initially refused to take down user-posted suicide manuals. After a day, Russia withdrew its block, and GitHub began blocking specific content and pages in Russia. On December 31, 2014, India blocked GitHub.com along with 31 other websites over pro- ISIS content posted by users;
3762-454: The website and promotional materials; McEfee and various GitHub users have since created hundreds of variations of the character, which are available on The Octodex . Projects on GitHub can be accessed and managed using the standard Git command-line interface; all standard Git commands work with it. GitHub also allows users to browse public repositories on the site. Multiple desktop clients and Git plugins are also available. In addition,
3828-563: The workplace, and failure to enforce an agreement that his spouse should not work in the office." Preston-Werner subsequently resigned from the company. The firm then announced it would implement new initiatives and trainings "to make sure employee concerns and conflicts are taken seriously and dealt with appropriately." On July 25, 2019, a developer based in Iran wrote on Medium that GitHub had blocked his private repositories and prohibited access to GitHub pages. Soon after, GitHub confirmed that it
3894-553: The year, the number of repositories was twice as great, reaching 10 million repositories. In 2015, GitHub opened an office in Japan, its first outside of the U.S. On February 28, 2018, GitHub fell victim to the third-largest distributed denial-of-service (DDoS) attack in history, with incoming traffic reaching a peak of about 1.35 terabits per second. On June 19, 2018, GitHub expanded its GitHub Education by offering free education bundles to all schools. From 2012, Microsoft became
3960-487: Was acquiring npm , a JavaScript packaging vendor, for an undisclosed sum of money. The deal was closed on April 15, 2020. In early July 2020, the GitHub Archive Program was established to archive its open-source code in perpetuity. GitHub's mascot is an anthropomorphized "octocat" with five octopus-like arms . The character was created by graphic designer Simon Oxley as clip art to sell on iStock ,
4026-507: Was conceived in 1993 and has been active online since October 1995. It is based on the CTAN model and began as a place to unify the structure of scattered Perl archives. Like many programming languages , Perl has mechanisms to use external libraries of code, making one file contain common routines used by several programs. Perl calls these modules . Perl modules are typically installed in one of several directories whose paths are placed in
SECTION 60
#17328802058814092-422: Was developed called cpanminus. cpanminus was designed to have a much smaller memory footprint as often required in limited memory environments, and to be usable as a standalone script such that it can even install itself, requiring only the expected set of core Perl modules to be available. It is also available from CPAN as the module App::cpanminus, which installs the cpanm script. It does not maintain or rely on
4158-446: Was in line with Microsoft's business strategy under CEO Satya Nadella , which has seen a larger focus on cloud computing services, alongside the development of and contributions to open-source software. Harvard Business Review argued that Microsoft was intending to acquire GitHub to get access to its user base, so it can be used as a loss leader to encourage the use of its other development products and services. Concerns over
4224-448: Was now blocking developers in Iran , Crimea , Cuba , North Korea , and Syria from accessing private repositories. However, GitHub reopened access to GitHub Pages days later, for public repositories regardless of location. It was also revealed that using GitHub while visiting sanctioned countries could result in similar actions occurring on a user's account. GitHub responded to complaints and
4290-446: Was restricted to logged-in users, reportedly to mitigate spamming on the page of recent Gists. Gists' URLs use hexadecimal IDs, and edits to Gists are recorded in a revision history , which can show the text difference of thirty revisions per page with an option between a "split" and "unified" view. Like repositories, Gists can be forked, "starred", i.e., publicly bookmarked, and commented on. The count of revisions, stars, and forks
4356-521: Was then valued at approximately $ 2 billion. As of 2023, GitHub was estimated to generate $ 1 billion in revenue. The GitHub service was developed by Chris Wanstrath , P. J. Hyett , Tom Preston-Werner , and Scott Chacon using Ruby on Rails , and started in February 2008. The company, GitHub, Inc., was formed in 2007 and is located in San Francisco. On February 24, 2009, GitHub announced that within
#880119