LogoLogo
  • Technical Direction
  • Technical overview
    • Technical Implementation
    • API Design Guide
      • Data Definitions and Standards
      • Data Transfer Objects
      • Documentation
      • Environments
      • Error Handling
      • Example API Service
      • GraphQL Naming Conventions
      • Methods
      • Naming Conventions
      • Once Only Principle
      • Pagination
      • Resource Oriented Design
      • REST Request
      • REST Response
      • Security
      • Versioning
    • Ísland.is Public Web Data Flow
    • Code Reviews
    • Code Standards
    • Monorepo
    • Project Management
    • Teamwork
    • Architectural Decision Records
      • Use Markdown Architectural Decision Records
      • Use NX
      • Continuous Integration
      • CSS
      • Branching and Release Strategy
      • Error Tracking and Monitoring
      • What API Management Tool to Consider
      • Viskuausan Static Site Generator
      • Use OAuth 2.0 and OpenID Connect As Protocols for Authentication and Authorization
      • Unified Naming Strategy for Files and Directories
      • CMS
      • Open Source License
      • What Chart Library Should We Use Across Island.is?
      • What Feature Flag Service/application Should We Use at Island.is?
      • Logging, Monitoring and APM Platform
      • ADR Template
    • Log Management Policy
  • Products
    • Island.is Authentication Service
      • Terminology
      • Integration Options
      • Authentication Flows
      • Authorising API Endpoints
      • Session Lifecycle
      • Scopes and Tokens
      • Delegations
      • Configuration
      • Tools and Examples
      • Environments
      • Test IAS with Postman
      • Using the IAS admin portal
    • Notifications / Hnipp
      • New Notification Setup Guide
      • Notifications service workflow overview
      • Email notifications
    • Pósthólfið
      • Security Checklist
      • Introduction
      • Skjalatilkynning API
      • Skjalaveita API
      • Sequence Diagram
      • Interfaces
    • Straumurinn (X-Road)
      • Architecture Guidelines for Service Providers and Consumers
      • Setting up an X-Road Security Server
        • Network Configuration
      • X-Road - Uppfærsla á öryggisþjónum
      • Straumurinn - Notkun og umsýsla
      • X-Road Central - current version
  • Development
    • Getting Started
    • Generating a New Project
    • Definition of done
    • Devops
      • Continuous Delivery
      • Database
      • Dockerizing
      • Environment Setup
      • Logging
      • Metrics
      • NextJS Custom Server
      • Observability
      • Operations Base Principles
      • Security
      • Service Configuration
      • Support
    • AWS Secrets
    • Feature Flags
    • Documentation Contributions
    • Defining Monorepo Boundaries With Tags
    • OpenAPI
    • Code Generation
    • Workspace Settings (Deprecated)
    • External Contributions
  • REFERENCE
    • Problems
      • 400 Validation Failed
      • 400 Attempt Failed
      • 403 Bad Subject
      • 400 500 Template API Error
    • Glossary
  • Misc
    • Guide: Adding a Payment Step to an Application
    • Guide: Enable Organisations to Make Requests to an Application
    • README Template
Powered by GitBook
On this page
  • Context and Problem Statement
  • Decision Drivers
  • Considered Options
  • Decision Outcome
  • Pros and Cons of the Options
  • Apache
  • BSD
  • GNU GPL
  • Links

Was this helpful?

  1. Technical overview
  2. Architectural Decision Records

Open Source License

  • Status: proposed

  • Deciders: dev, devops, managers

  • Date: 2020-06-07

Context and Problem Statement

It is the offical policy of the Digital Iceland and stated in the Techical Direction that it is to be implemented as free and open source. Open source software by definition is open to anyone to use, modify, distribute and study. These permissions are enforced an open source license. There are a number of well-known and widely used open source licenses available and we need to choose a license that best fits the goals of digital iceland.

There are two main types of open source licences: more permissive licences that confer broad freedoms and minimal obligations (e.g., the MIT, BSD and the Apache 2.0 licences); and sharealike licences that require licensing adaptations with the same licence if they distribute them (e.g., the GNU GPL).

Development for Digital Iceland will be open and free with minimum complications for development for all involved. Reuse and transparency will be promoted.

Decision Drivers

  • The primary motivation is to encourage, co-development, collabiration, transparency and reuse of the software.

  • It is important to build on the experience of similar government led inititives in other countries.

  • Digital Iceland has no patents or intellecatual property that needs to be protected or guarded by the license chosen.

  • It is not a concern for Digital Iceland that the license restricts usage in other projects, be it open or closed source.

Considered Options

The different licenses

  • Apache

  • BSD

  • GNU GPL

  • MIT

Decision Outcome

The MIT license was chosen, for the following reasons:

  • It is the least restrictive of the licenses.

  • It is very consise, simple and easy to understand and therefore should be clear to users and developers.

  • Digital Iceland does not require protection of patents or existing intelletual property.

  • Well known government lead initiatives like uk.gov and X-Road use the MIT license.

  • The MIT license is the best known and most widely used free and open-source license in the world.

Pros and Cons of the Options

Apache

  • Good, because is well known and very permissive like the MIT license.

  • Bad, it is has restrictions around redistribution that do not apply for Digital Iceland.

  • Bad, is way very long and wordy and therefore requires more effort to understand.

BSD

  • Good, because is well known and very permissive like the MIT license.

  • Bad, because it has restrictions about using the names of the copyright holder which is not a concern for digital Iceland.

GNU GPL

  • Good, because it is very well known.

  • Bad, that it is not permissive and requires derived software to adopt the license as well.

Links

PreviousCMSNextWhat Chart Library Should We Use Across Island.is?

Last updated 2 years ago

Was this helpful?

Stjórnarráðið - Umfjöllun um opinn hugbúnað
Ríkisendurskoðun - Frjáls og opinn hugbúnaðr