Coder Social home page Coder Social logo

ifosslawbook's Introduction

IFOSS Law Book

Introduction

Open source has travelled a long way from its beginnings as a way to share software between engineers. The evolution has been long and occasionally winding, though in retrospect the result was inevitable. Open source is now a process approach for collaboration. It has clearly known effective approaches, governance and supportive international standards. Underlying all this, of course, is law. Law provides the framework from which parties who do not know each other may engage with a degree of certainty. It provides pillars of structure and redress. It is the formal and stilted language that transcends normal discourse, and allows impartial judgement where necessary.

This book contains law as it pertains to open source with an optic that reflects the global nature of the field. It illustrates the nuance of law as it applies to open source country by country, and in doing so it allows us to follow the thin threads of structure that highlight both the similarities and the differences necessitated by different geographies and cultures. While not conclusive, this book can act as an adequate guide in this field, and delivers a resource intended to be of equal use to those new and experienced.

What You Will Find Here

This repository contains the printable and source files of the second edition of the IFOSS Law Book.

Any pull request will be authorized only by the copyright holders of the individual contributions.

NOTE: Good, you are working on the bugfix branch

Please always make pull requests to the bugfix branch first.

For information on how to contribute, read CONTRIBUTING.markdown.

Generating the PDF with Pandoc

Generating a full-book PDF now works by running (requires Pandoc 2.0 or later):

pandoc --top-level-division=chapter --number-sections --latex-engine=xelatex -s -f markdown_strict+footnotes+auto_identifiers+implicit_header_references+header_attributes+yaml_metadata_block metadata.yaml src/*markdown -o IFOSSLB.pdf

Useful explanations:

  • --top-level-division=chapter treats the top level headings as separate chapters and makes them start on a new page.
  • --number-sections adds number to the sections so it is possible to determine the level of each heading

Generating the ePub with Pandoc

Generating a full-book ePub now works by running (requires Pandoc 2.0 or later):

pandoc --top-level-division=chapter --number-sections -s -f markdown_strict+footnotes+auto_identifiers+implicit_header_references+header_attributes+yaml_metadata_block metadata.yaml --epub-cover-image='cover.png' src/*markdown -o IFOSSLB.epub

ifosslawbook's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ifosslawbook's Issues

Development model and basic governance

We should set up some basic rules on how we develop this repository and how people can contribute.

The contribution policy will likely be a bit specific, as this is a book.

Bot for the development model, I suggest we adopt one of the more general approaches that:

  • master branch is always stable and always contains the latest actual release (of course that is not the case right now, but we should still start early with it)
  • bugfix branch is the development version (ideally a cutting-edge, but working version)
  • any specific fixes and additions should go into its own branches before they are approved to be merged into the bugfix branch

Goals for IFOSSLawBook (in ~2019~ 2021)

With the move towards MarkDown being well underway, It would make sense to reiterate what are our goals with that change and with IFOSSLB in general.

To kick-off the discussion, from what I remember, this is what we wanted to achieve with this change:

  • PDF version of the book (and individual chapters)
  • ePUB version of the book (and individual chapters)
  • static website instead of WordPress, to automate the website updating and reduce the administration and maintenance overhead
  • use https://lulu.com to offer the printed version of the book as print on demand (requires a PDF version)
  • have all of these generated from the same source, so they are all updated at the same time
  • use the Git(Hub) as the workflow to accept new contributions

If I left out anything or misremember, please correct me.

Set up a naming convention (or continue to rely on sorting.meta)

Currently we rely on the sorting.meta file to set the order in which the book should be generated. Which works.

Another approach would be to decide a naming convention and rely on that for sorting.

One idea would be to adopt a similar approach to how udev rules (and other settings) work:

10 - Intro
20 - History
50 - Belgium
50 - Slovenia
50 - Italy
50 - Austria
90 - Authors

Which if you order it “alphanumerically” it would first parse the intro (10), then the history (20), then all the jurisdiction chapters by alphabetical order of their names (all are 50, so it orders them by alphabet), and in the end the authors (90).

I think this would simplify things, but I’m open to other suggestions.

Also, as mentioned before, sorting.meta works, so we can continue depending on that.

Clean up MarkDown

  • initial change from (thanks to @dmgerman)
  • include @kappapiana’s patches
  • clean up MarkDown syntax
  • recreate metadata
  • fix footnotes
  • fix links to authors
  • fix internal references (although I suspect those could be scripted or salvaged through Pandoc)
  • clean up the repo of old files (rm *.txt *.xml)
  • generate PDF and ePub
  • figure out which character is missing from the standard font and either replace the font or the character – I suspect it is one of the quotation marks or apostrophes
  • check if all looks well (including ToC)

Clarify outbound and inbound license for IFOSSLB

We should clarify what license IFOSSLB PDF, ePub, sources etc. are released under – currently this info is missing. This info should be added in LICENSE, README.markdown and the PDF/ePub/… outputs. (Ideally make it REUSE compliant as well)

As a consequence, we should also include in CONTRIBUTING.markdown the inbound licensing requirements or expectations.

Include authors

Including authors from separate files is part of issue #1.
All the changes are done in the include_authors branch and will be merged into pandoc_cleanup once they're finished.

  • resolve issue with concatenating files with include-pandoc

  • add page breaks, so chapters begin on a new page

  • update README.md

Auto-generate webpage from MarkDown sources

Currently http://ifosslawbook.org/ is running WordPress. We would simplify this and reduce both server and content maintenance by moving it to a static website generator that’s hooked through a CI/CD to the main branch of this repository.

One option would be:
https://github.com/iranzo/blog-o-matic/

If nothing speaks against it, I would try to set up a CI to auto-generate ifosslawbook.github.io for testing purposes. And if we like it, we can make it the default website.

Set up build system with Make

To simplify building, it would make sense to retort to a Makefile or several.

@alpianon has one that he suggested to modify and contribute. It looks very useful.

Include numbering

A numbering is to be included. I add a screenshot of the "original" version.
DSC_0580

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.