garrity.co/src/oss.html

153 lines
5.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Garrity Software - Open Source</title>
<meta name="author" content="pfm" />
<meta name="description" content="Garrity Software - Open Source" />
<link rel="stylesheet" type="text/css" href="assets/gs.css">
</head>
<body>
<div id="container">
<!-- Header/Logo -------------------------------------------------------------->
<header>
<h1>garrity software</h1>
</header>
<!-- Navigation --------------------------------------------------------------->
<nav>
<ul>
<li><a href="index.html">about</a></li>
<li><a href="products.html">products</a></li>
<li><a href="oss.html">open source</a></li>
<li><a href="donate.html">donate</a></li>
<li><a href="contact.html">contact</a></li>
</ul>
</nav>
<!-- Main Content ------------------------------------------------------------->
<main>
<section id="open-source">
<h1>Open Source</h1>
<p>Garrity Software exposes all non-product software as open source. Typically,
either the MIT License or the Apache 2.0 license is used.</p>
<p>If you have questions or want to discuss these projects, consider joining the
<a href="https://discord.gg/nphkquBhw3">Garrity Software Discord Community</a>.</p>
</section>
<section id="scala">
<h2>Scala</h2>
<p>All GS projects are currently implemented in Scala 3. No Scala 2 artifacts
are available. GS typically leans towards the newest available Scala versions.
GS libraries typically try to minimize size and dependency scope.</p>
<p>GS does not yet build libraries for Scala Native or ScalaJS.</p>
</section>
<section id="vcs">
<h2>Version Control (Git)</h2>
<p>GS uses self-hosted version control at
<a href="https://git.garrity.co/garrity-software">https://git.garrity.co/garrity-software</a>.
All code is available, though registration is not available at this time. Once
all setup is complete, accounts may be granted to allow for contributions.</p>
<h3>Mirrors</h3>
<p>Mirrors do not yet exist, but are planned. Mirrors will be available on GitHub.</p>
</section>
<section id="maven">
<h2>Maven</h2>
<p>GS provides a Maven server and does not upload artifacts to other public
Maven/Ivy repositories at this time.</p>
<pre><code>resolvers += "garrity-software-gs" at "https://maven.garrity.co/gs"</code></pre>
<p>No credentials are required to use this repository.</p>
</section>
<section id="api-docs">
<h2>API Documentation</h2>
<p>ScalaDoc is not yet published.</p>
</section>
<section id="projects">
<h2>Projects</h2>
<dl class="project-list">
<dt><a href="https://git.garrity.co/garrity-software/gs-uuid">gs-uuid</a>
(Scala 3) (Library)</dt>
<dd>Uses <a href="https://github.com/cowtowncoder/java-uuid-generator/">JUG</a>
and ported code from Jackson to provide an opaque <code>UUID</code> type
over <code>java.util.UUID</code>, backed by custom rendering and parsing.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-slug">gs-slug</a>
(Scala 3) (Library)</dt>
<dd>Provides a <code>Slug</code> type. This type relies on a very small set of
ASCII characters and is intended for URL-safe identifiers.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-hex">gs-hex</a>
(Scala 3) (Library)</dt>
<dd>Small, efficient, Hexadecimal conversion library with encoder/decoder type
classes and support for basic types. Based on handling byte arrays.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-blob">gs-blob</a>
(Scala 3) (Library)</dt>
<dd>Opaque type (<code>Blob</code>) and tools (e.g. encoding) for "blobs" -
arrays of bytes.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-datagen">gs-datagen</a>
(Scala 3) (Library)</dt>
<dd>Random data generation library for Scala 3. Intended for use in tests, but
not limited to that case. Provides a composable type for generators and
several standard generators.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-config">gs-config</a>
(Scala 3) (Library)</dt>
<dd>Library for loading, and specifically <em>auditing</em>, configuration.
Provides a complete digest of what configuration keys were queried and what
happened to them.</dd>
</dl>
</section>
<section id="incubator">
<h2>Incubator</h2>
<dl class="project-list">
<dt><a href="https://git.garrity.co/garrity-software/gs-test">gs-test</a>
(Scala 3) (Library)</dt>
<dd>Test framework for Scala 3. Based on Cats Effect. Notably provides
structured test output and envisions a more powerful method of expressing
test execution.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-log">gs-log</a>
(Scala 3) (Library)</dt>
<dd>FP logging library for Scala 3.</dd>
<dt><a href="https://git.garrity.co/garrity-software/gs-crypto">gs-crypto</a>
(Scala 3) (Library)</dt>
<dd>Based on JVM standard implementations and Bouncy Castle. Working to define
some crypto interfaces for GS projects in a way that works well with
Scala.</dd>
<dt><a href="https://git.garrity.co/garrity-software/smolban">smolban</a>
(Scala 3) (Application)</dt>
<dd>Fun side-project to create a small/minimal Kanban oriented system. Light on
process, helps prove out certain concepts in a non-critical
application.</dd>
</dl>
</section>
</main>
<!-- Footer ------------------------------------------------------------------->
<footer>
Content Copyright © Patrick Garrity
</footer>
</div>
</body>
</html>