ELOS-License-Builder/src/License/NPL.elm

75 lines
2.2 KiB
Elm

module License.NPL exposing
( Module
, info
)
import License exposing
( DownloadType
, LicenseInfo
, ModuleInfo
)
import Html exposing (text)
info : LicenseInfo Module
info =
{ availableModules = availableModules
, templates = getTemplate
, moduleInfo = moduleInfo
, descriptors =
{ name = "Nonviolent Public License v7"
, slug = "NVPL/CNPL"
, desc = String.trim """
The NVPL is perhaps best known for its variant the CNPL (Cooperative Nonviolent Public License), an ELOS license unique in its restriction of comercial use of software to worker owned co-operatives (check off "Worker Ownership" to enable this variant).
Even on its own, however, the NVPL is a powerful license, including protections against using the work to hurt others or using the work for surveilence, war/war-profiteering, incarceration, fossil fuel extraction/processing, child labor, and the spreading of hate speach.
The NVPL is also one of a few ELOS licenses that explicitly includes an (AGPL-like) clause that requires network services to distribute or link to the project's source code.
"""
}
}
type Module
= WorkerOwnership
| Attribution
availableModules : List Module
availableModules =
[ WorkerOwnership
, Attribution
]
moduleInfo : Module -> ModuleInfo
moduleInfo mod = case mod of
WorkerOwnership ->
{ name = "Worker Ownership"
, desc =
[ text
"""
Restrict comercial use of your software to worker-owned businesses and
collectives. Rights are still granted for non-comercial use by traditional
businesses and individuals.
"""
]
, index = 0
}
Attribution ->
{ name = "Attribution"
, desc =
[ text
"""
Require that anyone who uses the software list your name/psuedonym, the original
title of the software, the website/repository of the project, and credit in the
case of attribution. You can always ask distributors to take down the attribution
as well
"""
]
, index = 1
}
getTemplate : DownloadType -> List (Maybe Module, String)
getTemplate _ =
[ (Nothing, "NPL filler text")
, (Just WorkerOwnership, "+ Cooperative")
, (Just Attribution, "+ Attribution")
]