オープンソース調べOSS 2022年08月28日

オープンソース調べOSS 2022年08月28日

エンジニア歴2年半、やっとOSSに貢献できました。

# 初コントリビュート

OSSへのコントリビュートを初めて出来ました!やったことはドキュメントの修正ですが、自分の中で大きな一歩なので記事にしてみます。

これまでOSSに何かしらコントリビュートしたいな、と思いつつ全然出来なかったのでちょっと自信を持てる良いきっかけになりました。
私以外にも「やりたいけど出来ないよ〜」「どうしたら良いの?」という方も多いと思うので、どうやったか・何を考えたか、という観点で記事を書きました。

## はじめに結論

以下のような手順で進みました。

– ドキュメントに誤りがあることを発見
– 修正してローカル環境で確認
– 他にも同じ状態の他言語も修正
– プルリク作成
– マージしてもらう!

プルリクを作成してから約20日でマージ頂きました。正直忘れたころにマージされて「あ、マージされたんだ!」となりました。

作成してから数日は「コメントで間違い指摘されてないかな・・・」など気になるので結構プルリクを見ていたのですが、終わってみるとそんなことは無く無事に終了しました。

では以下に順を追って、もう少し詳細を書きます。

## 何をしたの?

F

元記事を表示

`comtypes`の追加機能 – GUIDのみでモジュール生成が可能に

## 論旨
`Python`でCOMオブジェクトを操作する[`comtypes`](https://github.com/enthought/comtypes)へコントリビュートを行い、私が追加した機能を含むものがバージョン`1.1.13`で最近リリースされたのでその紹介です。

## 追加機能概要
`client.GetModule((“{ライブラリのGUID}”,))`でモジュールが生成・取得できるようになります。

### GUIDとは
`Globally Unique Identifier`「グローバル一意識別子」のこと。
`{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}`(xは16進数)で表現されます。
COMオブジェクトやCOM型ライブラリは、(レジストリに登録されていれば)この一意のIDから呼び出すことが可能です。
https://ja.wikipedia.org/wiki/GUID

### Examples
“`py
from comtypes.client import GetModule
GetModule((“{000

元記事を表示

OSSライセンスについて学習した内容のまとめ(随時更新予定)

:::note warn
注意事項

本投稿はOSSライセンスについて個人で学習した内容を随時記事に載せていきます。
ライセンス関連のお話には、著作権や特許などの法律に触れる内容を含みます。実際に対処する場合、社内の法務部や有識者への相談を行うことをおすすめします。本記事はそういった有識者への相談前に、自身で予備知識を蓄える程度のものとなります。
:::

# 目的
各OSSライセンスについて調査し理解を深める。
(いきなりたくさんのライセンスについて調べて記事にしようとするとあと10年はかかるので、代表的なライセンスから始め、徐々に勉強し補完していきます。)

# 背景
今後、個人アプリのソースコードを公開しようと考えているが、利用しているOSSのライセンスについて、どう対処したら良いのかが具体的にわかっていなかったため、OSSのライセンスについて、理解を深めようと勉強を始めた。

# OSSとは
オープンソースソフトウェアの略です。
OSSとは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再頒布が可能なソフトウェアの総称です。
パソコンやスマホを利用していれ

元記事を表示

Django VS. Flask by OSS Insight

## はじめに

PythonのWebアプリフレームワークとして有名なDjangoとFlask。
OSS Insightを使って、その使用状況を比較してみます。

## OSS Insightとは

– OSSの動向を分析し可視化してくれる、PingCAP社謹製のインサイトツール
– OSSプロジェクトを分析/比較し、様々な視点から洞察を見つけてくれる
– GitHubリポジトリのカスタム分析ツールとしても使える

※ PingCAP社の記事を参照: [OSS Insightとは?](https://qiita.com/PingCAP/items/2d6a72acf455f72c216b)

## Djangoとは、Flaskとは

– Django
– フルスペック(ユーザ管理機能など内容)の、Webアプリケーションフレームワーク
– 中大規模の開発向け? エンタープライズ用?

– Flask
– 必要最低限の機能を揃えている、軽量Webアプリケーションフレームワーク
– 小規模の開発向け? 個人学習用?

## OSS Insightから見るDja

元記事を表示

OSS Insightで見るOSSデータベースの動向

## はじめに

OSSデータベースのトレンドがどうなっているか知りたくなりました。
そこで、インサイトツール [OSS Insight](https://ossinsight.io/) を使ってみることに。

## OSS Insightとは

– OSS動向や比較など分析結果を提供してくれるインサイトツール
– PingCAP社により、TiDB、Docusaurus、Apache ECharts、GH Archive、GHTorrentで構築された
– OSSプロジェクトを分析/比較し、様々な視点から洞察を見つけてくれる
– GitHubのリポジトリやイベントデータから、OSSの健全性や新しい出来事を示してくれる
– GitHubリポジトリのカスタム分析ツールとしても使える

※ PingCAP社の記事を参照: [OSS Insightとは?](https://qiita.com/PingCAP/items/2d6a72acf455f72c216b)

## OSSデータベースのトレンド

### 早速`ossinsight.io`サイトで検索してみると
https

元記事を表示

事業撤退するので、Apple MusicのクローンアプリをOSSにします

# ソースのURL
https://github.com/outsource-systems/music-app-ios

# デモ動画

# なぜOSSにするのか?
2021年7月〜11月にかけて、アーティストが独自の音楽ストリーミングアプリを作れるサービスを開発していました。
事業として上手くいかなそうで、事業撤退するのでOSSにします。

LPはこちらです。 -> https://origify.app/

# このソース誰得?
SwiftUIを使って音が流れるようなアプリケーションを作りたい人

# なぜ作ったのか?

地元の山梨で活動している同じ中学だったアーティストが
「CDが売れない。ストリーミングの分配率が低い。」などの
悩みを抱えていたので、
その悩みを解決したいと思い、このサービスを作り始めました。

サービス名はOrigifyです。
事業がうまくいきそうだったら、VCから資金調達をして、サービスを始めようと思っていました。

# なぜこの事業を

元記事を表示

dbtとPipeRider GitHub Action

## はじめに

https://qiita.com/GabxInfuseAI/items/dd68c439622923ec951e#dbt%E3%81%A7%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B9%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

この記事は前回の記事(_dbt+PipeRider+SQLite_ ユーズケース)に続いて、[PipeRider GitHub Action](https://github.com/marketplace/actions/piperider-cli-action)を導入して、[GitHubでCI(Continuous Integration)](https://docs.github.com/ja/actions)と言うことを達成する。

先ずこの三つファイルをローカルプロジェクトのルート階層に付け加える

+ `.github/workflows/ci.yml` – GitHubワークフローの定義

+

元記事を表示

oss-licenses-pluginがOSSをリストアップする仕組み

## はじめに

[OSS Licenses Gradle Plugin](https://github.com/google/play-services-plugins/tree/master/oss-licenses-plugin)は、ビルド時にOSSリストを作成ます。そのリストをもとにOssLicensesMenuActivityでライセンス表示できます。

これまではcookpadさんの[LicenseToolsPlugin](https://github.com/cookpad/LicenseToolsPlugin)を使わせてもらっていたのですが、deprecatedということで代わりにお勧めされたGoogleのOSS Licenses Gradle Pluginを使おうとしました。ところが使ってみるとSTLやらICU4CなどのOSSがリストアップされて、どういうこと?となったのでソースコードを調べて確認しました。

## 仕組み

ビルドを開始すると、OSS Licenses Gradle Pluginは初めにGradleでdependenciesのリストを作成します。以下

元記事を表示

話題のデータストア!? Dragonfly をサクっと使ってみた

# はじめに
最近、[Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装](https://www.publickey1.jp/blog/22/redis25dragonfly2022.html)が[Publickey](https://www.publickey1.jp/)に掲載されていて、Dragonfly がかなり気になったので、サクっとインストールして使ってみました。備忘録として残します。

# Dragonfly の概要
Dragonfly は、Linux上で動作するフリーのインメモリデータストアです。スレッドパーコア・アーキテクチャを採用し、低レイテンシーを実現しています。Dragonfly は Redis や Memcached と互換性があります。KeyDBの代替品として適しています。 また、Dragonflyは垂直方向に拡張でき、1つのインスタンスで数百万QPS(queries per second)と数百GBのメモリを処理できます。この Dragonfly は、2022年の最新技術を用いて設計、実装するこ

元記事を表示

最近話題のセキュリティの問題、 Snykで解決!

最近は以下のようなセキュリティの問題が取り上げられることが多くあります。

– Log4Shell, Spring4Shellなどの**OSSライブラリの脆弱性の問題**

– **SQLインジェクション**などによるクレジットカード情報の流出

– **サプライチェーンのセキュリティ問題**、**SBOM**

SQLインジェクションなどの脆弱性は以前から多くあるセキュリティ上の問題でしたが、最近またニュースとしてみることが増えてきているように思われます。

加えて、OSSライブラリの脆弱性の問題やサプライチェーンのセキュリティ問題・SBOMといったものは最近になって注目されるようになったものです。

これらの最近話題のセキュリティの問題を守ろうとすると色々なサービスを組み合わせて、複雑な運用がまた必要になる・・・といったことが考えられますが、実は**Snykだけでこれらの問題を解決することができます!**

## Log4Shell, Spring4ShellなどのOSSライブラリの脆弱性の問題への対策

2021年12月10日に公開されたApache Log4jの脆弱性、通称Lo

元記事を表示

Redmine/MediaWiki/Pleasanter/S3/ファイルサーバを全文検索

# 内容
Redmine、MediaWiki、Pleasanter、Amazon S3、ファイルサーバを一括検索する仕組みをつくってみた

# 背景
* 運用改善の中でいろいろとツールを入れたので運用ツールが増えた
* 各ツールの区分けは出来ているがどこを見るかたまに迷うこともある
* 「情報を探す」という時間を短縮して運用改善につなげたい

# 概要図
* FESSの検索画面からキーワード検索で各システムを一括検索する
* RedmineとPleasanterはPostgresをMediaWikiはMariaDBをデータストアクローラで設定
* S3はそれようのプラグインがあるのでプラグイン追加後、データストアクローラで設定
* ファイルサーバはファイルシステムクローラで設定
* スケジューラ設定で毎日各システムからクローラーで情報を取得してくる

![fess1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/9c4b45f6-93a1-ea96-52fa-93d5a34f4095.p

元記事を表示

PipeRiderはdbtの相棒になる

::: note info
本文記載時点は[PipeRider 0.4.1](https://github.com/InfuseAI/piperider)を参考にしています。
:::

## はじめに

PipeRiderはdbtプロジェクトのトランスフォーメーションされたデータモデルをプロファイリングし、dbtのアサーションとPipeRiderのアサーション実行し、結果によってリポートを生成する

### リクワイアメント

範例SQLite Databaseの用意する
“`
curl -o sp500.db https://piperider-data.s3.ap-northeast-1.amazonaws.com/getting-started/sp500_20220401.db
“`

[SQLite adapter for dbt](https://docs.getdbt.com/reference/warehouse-profiles/sqlite-profile)
“`
pip install dbt-sqlite
“`

`dbt-sqlite`用のcryp

元記事を表示

気づいたらOSSコントリビューターになっていた

# はじめに
気づいたらOSSコントリビューターなるものになっていた。本当に些細なPRがマージされただけであるが。

https://github.com/kentcdodds/match-sorter/pull/140

私の想像するコントリビューターとは、言わば天上人と言うべき存在であった。コンピューターの全てを理解した一部の天才エンジニアがその技術力、知見を余すことなく発揮した作品がOSSであると。そう思っていた。

エンジニア歴1年の新人の私から見ればそのような方たちのコードにケチを付けるような行為など恐れ多いにも程がある。ハンターハンターで言えばネフェルピトー、ワンピースで言えばカイドウに対する圧倒的力の差を感じてしまうものである。

しかし、どうやらOSSにPRを投げる行為はどうやらそのようなものでないらしい。

様々な方がOSSへの貢献を推奨している。だがそのような記事を見ても、いやいや自分はまだまだだし、、と億劫になってしまう方も多いでしょう。私もその1人だったので。

私と同じく億劫なエンジニア方に向けてOSSへの貢献を少しでも気楽に行えるためのアドバイスを送る。

元記事を表示

opensource COBOL 4J はじめの一歩

# はじめに
COBOLをお持ちのIT部門の方より、現在のCOBOL資産をJavaに移行したいという相談をよく聞きます。この記事では、そのような検討をしているご担当者様向けに、オープンソースソフトウェア(以下、OSS)の **opensource COBOL 4J** による COBOL to Java 変換を試す手順をご紹介します。

https://github.com/opensourcecobol/opensourcecobol4j

# opensource COBOL 4Jとは
[opensource COBOL 4J](https://github.com/opensourcecobol/opensourcecobol4j) は、[OSSコンソーシアム](https://www.osscons.jp/)が開発して Github で公開しているOSSのCOBOLコンパイラです。COBOLコンパイルの過程で、COBOLを中間Javaソースに変換し、Javaコンパイラでバイトコードを生成する仕組みです。処理の流れは下図のとおりです。
![image.png](https://q

元記事を表示

SnykでOSSプロジェクトの脆弱性をチェックしてOSS貢献?!

# Snykとは?

> Snyk helps software-driven businesses develop fast and stay secure. Continuously find and fix vulnerabilities for npm, Maven, NuGet, RubyGems, PyPI and more.

翻訳

> Snyk は、ソフトウェア駆動型ビジネスの迅速な開発と安全性の維持を支援します。npm、Maven、NuGet、RubyGems、PyPIなどの脆弱性を継続的に発見し、修正します。

# 使ってみた。???

初めて使ってみましたが、 **超簡単** です。

ログイン後の画面???

![app.snyk.io_org_moritalous_add(1280×720).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/25c2e6b9-65f1-46bd-0708-75869e2542da.png)

`GitHub`を選択します。???

元記事を表示

【Linux】LibreswanでVPNを構築しよう

OSSを使ったVPN構築。
構成はこんな感じとして
![Libreswan.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/673840/b522434d-384e-6c31-e4ca-ed6d0e8e5f83.png)

クライアント1からクライアント2に通信する間の経路でVPNを張ってみます。
VPNソフトは色々とありますが、今回は”Libreswan”を使います。
VPNサーバはCentOS7.9。

# ■準備
クライアント1,2各々でClientSeg向け通信のnexthopがvpnサーバになるようにルーティングを通しておきましょう。
※VPNセッションでクライアント1,2間が疎通できようになることも確認したいので、Libreswanサーバにはルーティング設定しないように。

また、Libreswanサーバ1,2でIPフォワーディングの許可もやっておきます。
“`
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
“`
でできますがこれだと再

元記事を表示

WebRTC SFUのOSSについて実装言語とGitHubのスター数をまとめた

## はじめに
WebRTC SFUのOSSについて、実装言語とGitHubのスター数をまとめました。
スター数の比較には[GitHub Star History](https://star-history.com/)を使いました。

### 実装言語
| OSS | 実装言語 |
| — | — |
| [Janus](https://github.com/meetecho/janus-gateway) | C |
| [mediasoup](https://github.com/versatica/mediasoup) | C++/Node.js |
| [LiveKit](https://github.com/livekit/livekit) | Go |
| [licode](https://github.com/lynckia/licode) | C++ |
| [Kurento](https://github.com/Kurento/kurento-media-server) | C++ |
| [Jisti-videobridge](https://githu

元記事を表示

OSS/ライブラリってどう調べて導入するの? (moment.jsリプレースを通して)

# はじめに
世の中にはたくさんのOSSで溢れています。
そしてOSSには流行り廃りがあります。
昨日までデファクトスタンダードだったOSSが今日では斜陽となる可能性すらあります。
エンジニアはその中でどうやってOSSを調査し自プロダクトに取り入れているのでしょうか?
今回はそんなOSSに関わる業務の際に自分がどう進めているのかまとめたいと思います。

# 本記事
– 実際に業務で開発したこと無い初心者エンジニア向けに実務の開発の流れを具体例を用いて解説
– 今回は日付時刻操作ライブラリである moment を date-fns でリプレースする作業をやっていきます

# 対象読者
web 開発をしたい初心者エンジニア
OSS調査の流れを知りたいエンジニア

# リプレイスするコード
“`javascript:moment.js
import moment from ‘moment’;

function getStartTime() {
return ‘2022/07/01 15:22’;
}

const start_time = moment(getStartTime

元記事を表示

オープンソースデータ品質検査CLI – Piperiderのクイックスタート

## Piperiderについて

::: note info
本文記載時点は[PipeRider 0.4.1](https://github.com/InfuseAI/piperider) を参考にしています。
:::

[Piperider](https://www.piperider.io/)はオープンソースデータ品質検査CLIツールとして、データプロファイリングとリポートを掲げて、データ観測プラットホームを目指す。

## CLIについて

プロジェクトの初期化
“`shell

元記事を表示

Atomエディタの開発中止とMicrosoftのハロウィーン文章 [開かれた社会とその敵 Part 1.]

# はじめに

Atomと言えば、原子ではなく、Githubの開発したテキストエディタですが、とうとう
その開発の中止が決定されたらしいですね。
えっ俺Atom使ってないしいいやって?私だって生粋のvim使いで、Atomなんて触った事もなければ、インストールをした事さえありません。
ぶっちゃけ言えば「これ以上分割できない物」の代名詞であるatomをエディタの名前として使うのは、物理学徒としても許し難いです。
なのでatomが開発中止?ざまぁと思う人も多いかもしれませんが、話はそう簡単なもんではございません。
少し付き合ってください。

# MicrosoftとGithub

MicrosoftによるGithub買収は多くの人の記憶に新しいのではないのでしょうか。
当時沢山のOSS(オープンソースソフトウェア)が[Gitlab](https://gitlab.com/)に鞍替えしましたね。
また、gitlabのCSSが[edgeで正しく表示されない](https://twitter.com/alexandrughinea/status/1003634919682211846)
などのおわ

元記事を表示

OTHERカテゴリの最新記事