All Projects → cloudposse → Copyright Header

cloudposse / Copyright Header

Licence: other
© Copyright Header is a utility to manipulate software licenses on source code.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Copyright Header

Bhagavadgita
A non-profit initiative to help spread the transcendental wisdom from the Bhagavad Gita to people around the world.
Stars: ✭ 84 (-50%)
Mutual labels:  open-source, opensource
Rox
🌍 BeWelcome lets you share a place to stay, connect with travellers, meet up and find accommodation on your journey. It is and will always be a free, open source, non for profit, democratic community.
Stars: ✭ 95 (-43.45%)
Mutual labels:  open-source, opensource
Cidram
CIDRAM: Classless Inter-Domain Routing Access Manager.
Stars: ✭ 86 (-48.81%)
Mutual labels:  open-source, opensource
Awesome Readme
A guide to writing an Awesome README. Read the full article in Towards Data Science.
Stars: ✭ 65 (-61.31%)
Mutual labels:  open-source, opensource
Octopod
Free open source client for OctoPrint
Stars: ✭ 126 (-25%)
Mutual labels:  open-source, opensource
Readme Template
A Readme Template For Tomorrow's Opensource
Stars: ✭ 69 (-58.93%)
Mutual labels:  open-source, opensource
Avideo
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Stars: ✭ 1,329 (+691.07%)
Mutual labels:  open-source, opensource
Uwp App Launcher Mobile
[Open Source] It's like the iOS and Android Home Screens but for Windows 10 (Phones).
Stars: ✭ 47 (-72.02%)
Mutual labels:  open-source, opensource
Angular Open Source Starter
This is a starter project for creating open-source libraries for Angular. It is a full fledged Angular workspace with demo application and easy library addition. It is designed to be used for open-sourcing libraries on Github and has everything you'd need ready for CI, code coverage, SSR testing, StackBlitz demo deployment and more.
Stars: ✭ 120 (-28.57%)
Mutual labels:  open-source, opensource
Laracom
Laravel FREE E-Commerce Software
Stars: ✭ 1,570 (+834.52%)
Mutual labels:  open-source, opensource
Openvoiceos
OpenVoiceOS is a minimalistic linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.
Stars: ✭ 64 (-61.9%)
Mutual labels:  open-source, opensource
Fortune Mod
Implementation of the Unix fortune command for displaying a random quotation, for Linux and other systems.
Stars: ✭ 156 (-7.14%)
Mutual labels:  open-source, opensource
Module 5 Open Research Software And Open Source
Module 5: Open Research Software and Open Source
Stars: ✭ 62 (-63.1%)
Mutual labels:  open-source, opensource
Freeswitch
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
Stars: ✭ 1,213 (+622.02%)
Mutual labels:  source-code, open-source
Php E Invoice It
A PHP package for managing italian e-invoice and notice XML formats. (Pacchetto PHP per gestire il formato XML di fatture e notifiche come richiesto dal SdI).
Stars: ✭ 53 (-68.45%)
Mutual labels:  open-source, opensource
Aurdroid
Android AUR [Arch Linux user Repository] packages browser
Stars: ✭ 88 (-47.62%)
Mutual labels:  open-source, opensource
Comcast.github.io
The main Open Source portal for Comcast
Stars: ✭ 36 (-78.57%)
Mutual labels:  open-source, opensource
Angular Tree Component
A simple yet powerful tree component for Angular (>=2)
Stars: ✭ 1,031 (+513.69%)
Mutual labels:  open-source, opensource
Covid19 scenarios
Models of COVID-19 outbreak trajectories and hospital demand
Stars: ✭ 1,355 (+706.55%)
Mutual labels:  open-source, opensource
Websiteone
A website for Agile Ventures
Stars: ✭ 132 (-21.43%)
Mutual labels:  open-source, opensource

Cloud Posse

copyright-header Build Status Latest Release Slack Community

Copyright Header is a utility to manipulate licenses on source code.

Features

  • Add/remove a copyright headers recursively on source files
  • Customize the syntax configuration for how to write out comments
  • Built-in support for GPL3 and MIT licenses
  • Supports custom licenes with --license-file argument
  • ERB template support

Caveats

  • Will only remove headers to files that have exactly the same header as the one we added
  • Will only add headers to files which do not contain the case-sensitive pattern /[Cc]opyright|[Lc]icense/ in the first N lines
  • Will not properly format arguments that contain new-line ("\n") characters.

Requirements

  • Ruby 1.9.2 (supported version, might work with older rubies but not guaranteed)

Installation

Install Copyright Header from RubyForge:

gem install copyright-header

This project is part of our comprehensive "SweetOps" approach towards DevOps.

It's 100% Open Source and licensed under the GNU General Public License.

Usage

Full list of supported arguments:

Usage: copyright-header options [file]
    -n, --dry-run                    Output the parsed files to STDOUT
    -o, --output-dir DIR             Use DIR as output directory
        --license-file FILE          Use FILE as header (instead of using --license argument)
        --license [AGPL3|ASL2|BSD-2-CLAUSE|BSD-3-CLAUSE|BSD-4-CLAUSE|GPL3|MIT]
                                     Use LICENSE as header
        --copyright-software NAME    The common name for this piece of software (e.g. "Copyright Header")
        --copyright-software-description DESC
                                     The detailed description for this piece of software (e.g. "A utility to manipulate copyright headers on source code files")
        --copyright-holder NAME      The legal owner of the copyright for the software. (e.g. "Erik Osterman <[email protected]>"). Repeat argument for multiple names.
        --copyright-year YEAR        The years for which the copyright exists (e.g. "2012-2017"). Repeat argument for multiple years.
    -w, --word-wrap LEN              Maximum number of characters per line for license (default: 80)
    -a, --add-path PATH              Recursively insert header in all files found in path (allows multiple paths separated by platform path-separator ":")
    -r, --remove-path PATH           Recursively remove header in all files found in path (allows multiple paths separated by platform path-separator ":")
    -g, --guess-extension            Use the GitHub Linguist gem to guess the extension of the source code when no extension can be determined (experimental).
    -c, --syntax FILE                Syntax configuration file
    -V, --version                    Display version information
    -h, --help                       Display this screen

Examples

Discover available parameters by passing the --help argument

copyright-header --help

Add a GPL3 License header to a file:

copyright-header --add-path /tmp/test.rb \
                 --license GPL3 \
                 --copyright-holder 'Joe Shmoe' \
                 --copyright-software 'Example Software' \
                 --copyright-software-description "This is the description of the software." \
                 --copyright-year 2012-2017 \
                 --output-dir /tmp \
                 --dry-run

Remove the header created in the previous step (without --dry-run argument):

copyright-header --remove-path /tmp/test.rb \
                 --license GPL3 \
                 --copyright-holder 'Joe Shmoe' \
                 --copyright-software 'Example Software' \
                 --copyright-software-description 'This is the description of the software.' \
                 --copyright-year 2012-2017 \
                 --output-dir /tmp \
                 --dry-run

Command used to generate copyright headers for this script:

copyright-header  --license GPL3  \
                  --add-path lib/:bin/ \
                  --guess-extension \
                  --copyright-holder 'Erik Osterman <[email protected]>' \
                  --copyright-software 'Copyright Header' \
                  --copyright-software-description "A utility to manipulate copyright headers on source code files" \
                  --copyright-year 2012-2017 \
                  --word-wrap 100 \
                  --output-dir ./

Paths can be either files or directories. It will recursively traverse the directory tree ignoring all dot files.

You can specify an alternative syntax configuration file using the --syntax argument.

Rake

The above example can be performed as rake task inside a Rakefile:

task :headers do
  require 'rubygems'
  require 'copyright_header'

  args = {
    :license => 'GPL3',
    :copyright_software => 'Copyright Header',
    :copyright_software_description => "A utility to manipulate copyright headers on source code files",
    :copyright_holders => ['Erik Osterman <[email protected]>'],
    :copyright_years => ['2012-2017'],
    :add_path => 'lib',
    :output_dir => '.'
  }

  command_line = CopyrightHeader::CommandLine.new( args )
  command_line.execute
end

Docker

docker run --rm --volume `pwd`:/usr/src/ osterman/copyright-header:latest \
  --license GPL3 \
  --add-path . \
  --guess-extension \
  --copyright-holder 'Erik Osteman <[email protected]>' \
  --copyright-software 'Copyright Header' \
  --copyright-software-description 'A utility to manipulate copyright headers on source code files' \
  --copyright-year 2012-2017 \
  --word-wrap 100 \
  --output-dir /usr/src/

Make

Here is how we typically use it in our Makefile.

Check out the Cloud Posse build-harness for other neat tricks.

Help

Got a question?

File a GitHub issue, send us an email or join our Slack Community.

Commerical Support

Work directly with our team of DevOps experts via email, slack, and video conferencing.

We provide commercial support for all of our Open Source projects. As a Dedicated Support customer, you have access to our team of subject matter experts at a fraction of the cost of a fulltime engineer.

E-Mail

  • Questions. We'll use a Shared Slack channel between your team and ours.
  • Troubleshooting. We'll help you triage why things aren't working.
  • Code Reviews. We'll review your Pull Requests and provide constructive feedback.
  • Bug Fixes. We'll rapidly work to fix any bugs in our projects.
  • Build New Terraform Modules. We'll develop original modules to provision infrastructure.
  • Cloud Architecture. We'll assist with your cloud strategy and design.
  • Implementation. We'll provide hands on support to implement our reference architectures.

Community Forum

Get access to our Open Source Community Forum on Slack. It's FREE to join for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build sweet infrastructure.

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

If you are interested in being a contributor and want to get involved in developing this project or help out with our other projects, we would love to hear from you! Shoot us an email.

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull Request so that we can review your changes

NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!

Copyright

Copyright © 2017-2018 Cloud Posse, LLC

License

License: GPL v3

GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Trademarks

All other trademarks referenced herein are the property of their respective owners.

About

This project is maintained and funded by Cloud Posse, LLC. Like it? Please let us know at [email protected]

Cloud Posse

We're a DevOps Professional Services company based in Los Angeles, CA. We love Open Source Software!

We offer paid support on all of our projects.

Check out our other projects, apply for a job, or hire us to help with your cloud strategy and implementation.

Contributors

Erik Osterman
Erik Osterman
Leo O'Donnell
Leo O'Donnell
Christian Meier
Christian Meier
Gabriel de Perthuis
Gabriel de Perthuis
Thomas Russell Murphy
Thomas Russell Murphy
Kongqun Yang
Kongqun Yang
Vincent Billey
Vincent Billey
arximboldi
arximboldi
David
David
Rafał Rzepecki
Rafał Rzepecki
David Yip
David Yip
Daniel Freedman
Daniel Freedman
Mitch Souders
Mitch Souders
Mads Bondo Dydensborg
Mads Bondo Dydensborg
Psy-Q
Psy-Q
Bryan
Bryan
Colin Dean
Colin Dean
Wahaj Shamim
Wahaj Shamim
halo
halo
Lloyd Dewolf
Lloyd Dewolf
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].