オープンソース調べOSS 2020年12月30日

オープンソース調べOSS 2020年12月30日
目次

OSSに貢献したくてOSSを自作した

# はじめに
2020年も終わりに近づいてますが皆さんはアドベントカレンダー書きましたか?僕はまだ枠を2つ埋めてないのでこのポエムを書いています。12月の最初にアドベントカレンダーのネタを作ろうと思い、これを期にOSSに貢献しようと思い立ちましたが、なんだかんだあってOSS(といっても簡単なCLIですが)を作ることになりました。

# TL;DR
OSS貢献しようとするアクションは勉強になります。特に普段使っているライブラリやツールに対して機能を追加しようと考えた時に既存の機能でできないかちゃんと調べてみたり、実装を理解しようとするからです。しかし、使っているライブラリやツールは比較的スター数が多いものを使うと思うので、その点で言えば簡単に貢献できるかと言うとタイミングによる部分が多いなと感じました。

なので、ネットで見かけるOSS貢

元記事を表示

放置されたクレートをなんとかする

# はじめに

この記事は [Rust 3 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/rust3) の24日目です。
最後1つ埋まっていないのは気になるので埋めておきます。

Rustのクレートは比較的よくメンテナンスされている印象ですが、やはり放置されたクレートというのも時々見かけます。十分枯れていて問題なく動いているならいいのですが、放置された結果コンパイルが通らなくなっているような場合は困ってしまいますね。そういったクレートに対して個人的にやっている対処法を書いてみます。

## Pull Request(PR)を送る

最初にやるのはPRを送ることです。放置されているように見えて、PRを送るとすぐにマージしてくれる場合もあります。特定のプラットフォームでコンパイルエラーになるようなケース(特にWindowsはケアしてる人が少ないです)は、単に作者が気づいていないだけ、ということも多いです。

## メールを送る

PRを送っても反応がなく、他の人のPRもたくさんたまっている状態であることもあります。

元記事を表示

PRだした use-query-params

# マージされた
https://github.com/pbeshai/use-query-params/pull/139

# かんそう
[前回のDenoへのPR](https://kajirikajiri.netlify.app/20201129205614/)はgood-first-issueというやつでPRだしてみようぜ!みたいなやつだった
それでも結構びびってたし、[実際マージされなかった](https://kajirikajiri.netlify.app/20201206000530/)けどPRのだしかたを覚えることができた
いつも仕事で出すPRだとmasterからブランチを作りmasterにPRをだすというかんじ
けど、今回はforkして、ブランチを作りfork元にPRをだした。

**いつもの**
original-repository/master ← original-repository/develop

**今回**
original-repository/master ← forked-repository/master

一旦フォークして、自分のリポジトリに

元記事を表示

最高のコントリビュート先の見つけ方、そしてコントリビュート をするまで【OSSに初めてコントリビュートしたい方へ】

# 最高のコントリビュート先の見つけ方
### コントリビュートできるOSSをGithubのTopicsから探す
https://github.com/topics

### 翻訳の案件を探す

Home

### OSSの初心者向けのissueを見つける
https://github.com/ユーザー名/レポジトリ名/contributeで調べると、
このレポジトリでの、初心者向けのissue(good first issue)を見つけることができます!

下はchart.jsというライブラリのgood first issueの例です
https://github.com/chartjs/Chart.js/contribute

# コントリビュートの仕方
ここでは、githubのdocsのレポジトリに対してコントリビュートしたい場合を想定します。
https://github.com/github/docs

### forkする
![スクリーンショット 2020-12-25 17.47.25.png](https://qiita-imag

元記事を表示

Git/GitHubを独習してきたので、ここらで「正常系」についてまとめようとおもった。

### 背景とねらい

Git/GitHubを(いまさらながら)独習してきて、理解を進めるために、「正常系」についてまとめようとおもった。

正常系については[「システム設計の法則(正常系と異常系についての一般論)」](https://qiita.com/hann-solo/items/8037752ac8c3833d7b56)にて。

– Git/GitHubの「正常系」を整理
– OSS開発の「作法」で「わからないところ」を特定

ができればとおもう。

### Git/GitHubの基本ユニット

全体を通じて、Git/GitHubの構成は、この基本ユニットが念頭にあるとおもわれる。「**ようするにぜんぶ、コレの応用/組み合わせだ!!**」と念じれば、頭がスッキリする(とおもう)。

以下、簡略化のために「→」の「com

元記事を表示

作りながら学ぶ!SwiftPackageManagerでOSSを公開しよう!

# はじめに

この記事は [iOS Advent Calendar 2020](https://qiita.com/advent-calendar/2020/ios) の 24 日目の記事です。
昨日は[アイカワ](https://qiita.com/kalupas226)さんの[「Numbers API を利用した実践的なアプリで学ぶ SwiftUI(UIKit) + TCA」](https://qiita.com/kalupas226/items/fb67003d43df8ad057f7)でした。

今年初めて自分でライブラリを作ってOSSとして公開しました!
SwiftUIでニューモフィズムというデザインを表現できるライブラリです。
ありがたいことに、現在スターが120以上いただいております。
https://github.com/tsuzukihashi/NeumorphismUI

こちらはSwiftPackageManager(SPM)というライブラリの管理ツールに対応しています。
SwiftPackageManager(SPM)は他のライブラリ管理ツールに比べ、とても簡

元記事を表示

cymelの紹介

メリークリスマス!
Maya Advent Calendar 2020 最後の記事は、一般技術の紹介じゃなくて恐縮ですが、拙作のオープンソース Python モジュール cymel の紹介です。

#cymelって何?
cymel とは、皆さんご存知の pymel の置き換えになる、Maya の Python プログラミングを助けるモジュールです。
本家 pymel ほど高機能にはせず、謙虚で[^1]、小さく軽く高速で、それでいてノードやアトリビュートの扱いを簡単にするという主目的には十分な機能を提供します。

詳しいことは以下のドキュメントに記載されていますが、この記事で興味を持ってもらえるように、ざっくり紹介していきたいと思います。
https://ryusas.github.io/cymel/ja/index.html

cymel の「c」は C++ の c です。コアは C++ で実装し、高速に動作させることを狙っています。
現在はフル Python で書かれたプレビュー版ですが、現段階でも非常に軽量です。
フル Python 版の完成後、今(2020年12月現在)は作業は

元記事を表示

OpenChain仕様適合を宣言した企業 / OpenChain Conformant Companies

— English follows Japanese text —

こんにちは。富士通株式会社の大崎 雅行です。
OSS(Open Source Software)を利用する際に重要となる、OSSライセンスのコンプライアンスに携わっています。

本記事では、OpenChainの仕様適合を確認し(自己認証・第三者認証)、OpenChainプロジェクトに対し適合を宣言した企業について、簡単に紹介します。
#OpenChain仕様について
渡邊 歩さんの[1日目の記事](https://qiita.com/AyumiWatanabe/items/3bbb47d6f14205f78acc)で紹介があったように、OpenChain仕様は、組織がOSSコンプライアンスの遵守体制を構築する際の要件を規定するもので、Linux Foundation配下のOpenChainプロジェクトが取りまとめています。

OpenChain仕様は、以下のように約1年ごとに改版されており、最新版は2.1です。[3日目の記事](https://qiita.com/t-osk/items/587c2a7ed9c12

元記事を表示

Laradockをちょっと便利にするコマンドラッパーを作った

この記事は[個人開発 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/private-development)の23日目です。

# TL;DR
Laradockをちょっと便利にするコマンドラッパーを作りました。
https://github.com/ngmy/laradockctl

# 背景
WebサービスやOSSを開発するときはDockerを使うと開発マシンが汚れないので便利ですね。
私はもっぱらPHPで開発しており、また一からDockerで開発環境を構築する時間もないので、開発環境は[Laradock](https://laradock.io/)のお世話になることが多いです。
LaradockはPHPの開発に必要なもの全部入りのDocker環境で、PHP界隈ではおなじみのツールです。

そんなLaradockですが、使っていて個人的に不便に感じる点があります。

# Laradockを使っていて個人的に不便に感じる点
## 1. どのコンテナを起動すればいいのか忘れる
「このWebサービスではnginxコ

元記事を表示

【Vue.js】はじめてのOSS -OSS初心者がコントリビューターになるまで-

## はじめに
本記事はOSS初心者(というかはじめて)の私がVue.jsでコントリビューターになるまでのお話です。
(※2020/12/21現在、PRを出している最中なのでm、厳密にはコントリビューターではありません。笑)

## きっかけ
単純に英語を勉強したいな、と思っていたのと、OSSってコードのメンテナンスや機能開発以外にも道があるので、ゴリゴリにコードかけなくてもOSS参加できるよ!ということと、ゴリゴリにコード書くだけがエンジニアの価値じゃないよ!ということを伝えたかったのでチャレンジしてみました。

## 何をやったか
平たくいうと、Vue.jsのドキュメントの翻訳をやりました!

Vue.jsは2020年9月にVue 3.0.0がリリースされ、Vue.jsのコミュニティ内(Slack内)で翻訳されてないものがある、ということだったので覗いてみたところ、分量も多くなく、Google 翻訳やDeepLなども使って良いということだったので、チャレンジしてみました。

## OSSコントリビュートまでの手順
言語やライブラリ、フレームワークによって違うと思いますがVue.j

元記事を表示

かしこい検索システムを作れるOSS「Jina」を使ってみた!

# はじめに

昨今、深層学習技術の発展にはめざましいものがあります。
自然言語の単語や文の意味を捉えた類似検索や質問応答であったり、画像の内容に関する説明文の生成であったりと、ワクワクさせるものが日々登場しています。
それらの技術を使ってよりかしこい検索システムを作ることができれば、これまでうまく活用されていなかったデータの活用促進につながり、より生産性を上げられるのではないかと妄想する毎日を送っていました。
しかし、一からそのような検索システムを構築するのは非常に困難です。
そのため、なかなか一歩を踏み出せずにいたのですが、最近面白いOSSを見つけました。
その名も [Jina](https://github.com/jina-ai/jina) です。
(発音は公式動画等を見る限り「ジーナ」のようです)

今回は、このJinaについて簡単に紹介しつつ、デモを動かしていきたいと思います。

# Jinaって何?

Jinaは、[Han Xiao氏](https://hanxiao.io/)[^1]によって2020年に立ち上げられたベンチャーである[Jina AI](https://j

元記事を表示

Laravel製のオープンソースWebDB『Exment』が正式リリース2年なので、これまでとこれからをまとめてみた

こんにちは。株式会社カジトリの佐藤と申します。
オープンソースなWebデータベース、『[**Exment**](https://exment.net/)』の企画立案、開発、営業、統括を行っています。

Exmentは、2019年1月に正式版をリリースし、そろそろ2年が経過します。
この2年間で、さまざまな企業・組織に使っていただきました。
それに伴って、多くの方々からのフィードバック、改善案、ときには不具合報告をいただくことによって、この2年間で、非常に成熟したソフトウェアに育ってきました。心から感謝です。

また、ビジネスとしても少しずつ、結果が出てきました。
投資額と時間を完全リターンできるほどの結果はまだまだですが、それも実現可能なソリューションであることの確信はしています。

一方で、課題や壁も、もちろんいくつか出ていています。
中には、オープンソースならではの壁や苦労もあり、日々対応策を練っている所です。

前回の記事から、およそ1年が経ったということもあり、改めて記事をまとめていくことにしました。(良ければ、[**前回の記事**](https://qiita.com/hir

元記事を表示

Flash Advent Calendar 19日目 – OSS活動で得られた事 –

今日は休日なので小休憩もかねて
OSSで得られた経験などについて書きたいと思います。

# ソースが公開される

OSSなので当たり前ですが、自分の実装したソースが誰でも見れる場所に公開されます。
OSSを始める最初の障壁なのですが、一番敷居が高い障壁でもあると思います。

自分の場合は、誰にどのように評価されても
ありがとうございます!っという気持ちと
頂いた意見を全てプラスの言葉に変換して実装に反映する!!
たとえどんな失敗があっても訂正すれば良い!!
っという強い気持ちを持ってメンテナンスを行いましたw

このメンテナンスする作業が一番スキルアップに繋がったと思います。
肝も座りますw

# ネットでみていた有名・優秀な方達から意見がもらえる

実装するのに参考にしてるサイトの会社・個人の方
国内・国外問わずOSSで有名な人達からの意見や知識がいただけます。
本当に多くの方から沢山の事を学ばせて頂きました。
これは、OSS活動した事で得られたとても貴重な体験だと思っています。

直接・間接的に教えていただいた事は全てとても貴重な体験で
エンジニア業を行う上で、凄く支えになる体験

元記事を表示

OSS個人開発のモチベーションを高める方法〜金銭的な収益を得る(寄付をもらう)〜

# 個人サイドプロジェクトで開発しているもの
個人のサイドプロジェクトとして、こちらのソフトウェアを作っています。
VSCode用Emacsキーバインド拡張です。
[Awesome Emacs Keymap](https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx)

[![Awesome Emacs Keymap logo](https://github.com/tuttieee/vscode-emacs-mcx/blob/master/images/icon.png?raw=true)](https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx)

Visual Studio Marketplace: https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx
GitHub: https://github.com/tuttieee/v

元記事を表示

オープンソースを開発し続けて得たもの

 自分のGithubのファーストコミットの時期を確認したら2014年だった。私はその時からオープンソースを作って来たんだなと改めて認識した。もう7年近くやっているのかという感慨もあれば、同時にまだ7年しかやってないのかという思いもある。

 まぁ、この7年という月日が自分にとって長いのか短いのかは置いておくとして、**オープンソース開発を通じて私が得られたもの**を、開発したプロダクトと一緒に紹介していこうと思う。

## まずは何よりも英語力

 私が全世界向けにオープンソースとして配布した処女作プロダクトが、WordPress用プラグイン「[Custom DataBase Tables](https://wordpress.org/plugins/custom-database-tables/)」通称「CDBT」だ。自身初のWordPressの公式プラグインで、コンセプトとしてはWordPressの管理画面にphpMyAdminやAdminerのようなデータベース管理ツールを実装しようとしたものだ。今思い返してみると、WordPressプラグイン開発者として駆け出しだったのに、よく

元記事を表示

OpenChain Japan WG, License Info. Exchange SWG: Proposing License Info. Management Scheme for next revision of SPDX.

# はじめに

ルネサスエレクトロニクス(株)の伊藤と申します。
製品開発サプライチェーンでのライセンス情報授受の仕組みに関わる、「組織間のライセンス情報授受」サブグループの活動を紹介いたします。

# なんのための活動?
**組織・企業間でライセンス情報を正しく伝えるために**

製品開発やサービスを行うために、ソフトウェアを開発する場合、ソフトウェアを部品(パッケージ・モジュール)単位で開発を分担することが一般的です。

個別のソフトウェア開発元・コミュニティ → 複数のソフトウェアを取りまとめてパッケージする企業・組織 → 仕様を決め、全体をまとめ、一まとまりの製品として開発する企業 → 製品要件などを決め、実際に顧客へと販売する企業、と企業・組織間のサプライチェーンに沿って、製品を構成するハードウェアに付随するソフトウェアを基盤に開発すること、市販されているソフトウェアをサービスの一部に組み入れること、目的に合わせたソフトウェアをその分野に強い企業・組織に個別に開発してもらう、などと、ソフトウェアは渡っていきます。

それら企業・組織間で授受されるソフトウェアには、必ずライ

元記事を表示

Kubernetes上でPulsar Functions使ってみた

## Pulsar

こんにちは。ヤフー株式会社システム統括本部の木村です。
私の所属するteamではopen-sourceのpub-sub型messaging platformである[Apache Pulsar](https://pulsar.apache.org/)を社内向けに開発, 運用しています。

弊teamでは過去に幾つかPulsarに関する記事を書いてきました。

– [メッセージングPF「Apache Pulsar」の使い方(入門編)](https://techblog.yahoo.co.jp/entry/20200312818173/)
– [メッセージングPF「Apache Pulsar」の使い方(クライアント編)](https://techblog.yahoo.co.jp/entry/20200413827977/)
– [メッセージングPF「Apache Pulsar」の使い方(クライアント編2)](https://techblog.yahoo.co.jp/entry/2020060330002394/)
– [Pulsar Summitのセッションと、ヤフーの

元記事を表示

CircleCIとわたし – いつも多くまわってます!

## はじめに

みなさまこんにちは。この記事は、[CircleCI Advent Calendar 2020](https://qiita.com/advent-calendar/2020/circleci)の18日目の記事になります。[^1]

わたしは2017年の中頃からCircleCIを利用しており、職場&個人として、両方でたくさんお世話になっています。
そこまで高度な作り込み、使い込みはできていないのですが、「この辺がとてもよかった!」といったあたりを添えて、感謝の気持ちを記事に合わせて描いてみました。

## 1. まずは4コマ / とっても助かっています!

![20201218-circleci-and-me.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27976/a0302122-d134-4ad7-c278-6b36387ee668.jpeg)

## 2. 個人開発でのあれこれ

個人開発では、Redmineのプラグインを作っていました。
その際には、いろいろなCIを利用していた

元記事を表示

Flash Advent Calendar 18日目 – OSSを諦めて、有償化に踏み切った話 –

# 有償化に踏み切った話

`swf2js`は2013年から7年間OSSとして地道に活動していたのですが
注目度も低く、継続してメンテナンスを行うが苦しい状態だったので
2019年に自分の所属する会社(ソニックムーブ)と共同で開発する事で有償化に踏み切りました。

最後までOSSとして開発を行いたかったのですが
`swf2js`は誰からも必要とされないライブラリ。っという状況だったので
会社で認めてもらった時はとても嬉しかったです。

FlashPlayerに対しての風当たりも強かったので余計にそう感じたのかもしれません。。。

# 個人のOSS品質

「個人のOSSは、信頼性が低い」っと判断されがちですが
作っているエンジニアは実際に現場で活躍しているエンジニアが多く
実務では商品プロダクトを実装している方が大半だとおもいます。
どうか、個人のOSSという事だけで品質の判断をしないでもらえると嬉しいです。

# 応援の仕方は色々

誰かに必要とされ、何かの役に立っているという事が分かるだけで開発を継続できます。
もし、利用しているOSSがあれば`GitHub`の`star`を押すだけ

元記事を表示

OSSの監視ツール “Graphite” をインストールする際によくある問題とそれの回避策

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614998/13312bf9-b61f-372e-bc78-414cd9ab965d.png)

#はじめに

Graphiteは非常に人気のあるエンタープライズ用の監視ツールです。この記事では、Graphiteインスタンスのセットアップ中に発生する一般的な問題と、それらを回避する方法について説明します。読者はすでにGraphiteに精通していることを前提としていますが、Graphiteの基本について知りたい場合は、この記事を読む前に、[Graphiteのアーキテクチャと概念](https://qiita.com/MetricFire/items/4925de84200e41a07ab5)および[インストールとセットアップ](https://qiita.com/MetricFire/items/3ba5d2e89dacec0a6ad9)に関する記事を確認してください。この記事において、事前に知っておく必要のある重要な用語は以下になりますので

元記事を表示

OTHERカテゴリの最新記事