オープンソース調べOSS 

オープンソース調べOSS 
目次

【Python】メンテナンスしているプロジェクトが壊れないように`cpython`にテストをコントリビュートしたお話

## 概要
私はPure PythonでWindowsのCOMとやり取りするためのパッケージである[`comtypes`](https://pypi.org/project/comtypes/)をメンテナンスしています。
このパッケージはPythonの標準ライブラリ[`ctypes`](https://docs.python.org/ja/3/library/ctypes.html)に依存しています。
Python 3.13から`ctypes`に変更が加えられ、`comtypes`はPython 3.12まで動いていた実装では動かなくなってしまいました。
`comtypes`のコード変更により、Pythonバージョン間の互換性を保って動くようにすることができましたが、`ctypes`の変更によってまたこの実装が壊れてしまうことが予想されました。
そこでリグレッションを防止することを目的に、Pythonの本家である[`cpython`リポジトリ](https://github.com/python/cpython)にテストを追加するコントリビュートを行いました。
この記事ではこの顛末と、

元記事を表示

大半のOSSに対して速攻でタイポを発見できるワンライナー

## タイポを見つけちゃおう

[typos](https://github.com/crate-ci/typos)を使います。

“`
typos –format brief –color always | ruby -e ‘puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}’
“`

複数行に分けると、

“`
typos –format brief –color always |
ruby -e ‘puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}’
“`

です。これで、大半のOSSに対してタイポを発見できると思います。
これだと、コード本文ではなく、Changelogなどのタイポをたくさん見つけてしまう場合は、[fdコマンド](https://github.com/sharkdp/fd)などを使って、拡張子や除外ディレクトリを指定してみましょう。例えば、以下の例では、Crystalのファイル `.cr` のみを検索し、`lib` ディレクトリを除外します。

“`
f

元記事を表示

KeycloakでOpenID Connectを使ってSSOを実行(その他のフロー編)

本記事では、KeycloakでOIDCを使いシングルサインオンを実行してみようと思います。

今回は[以前紹介した認可コードフロー](https://qiita.com/kanta-k/private/6d84b66778b47805fc74)以外の以下3つのフローでシングルサインオンを実現してみようと思います。

– インプリシットフロー
– リソースオーナーパスワードクレデンシャル
– クライアントクレデンシャル

# インプリシットフローとは
インプリシットフローは、パブリッククライアント(クライアントID・クライアントシークレットを安全に保持できないクライアント)向けの認可フローです。
このフローは認可コードフローと異なり、認可エンドポイントからアクセストークンが付与されたリダイレクトURIをレスポンスとして渡されます。RPはそのURIにアクセスしたのちIDトークンを検証して認証を実施します。
このフローではアクセストークン取得後にサーバサイドとやり取りすることを想定しないため、GETパラメータやPOSTパラメータを連携せずに、ハッシュフラグメントを用いて連携しています。

`

元記事を表示

KeycloakでOpenID Connectを使ってSSOを実行(認可コードフロー編)

本記事では、KeycloakでOIDCを使いシングルサインオンを実行してみようと思います。

認可にはいくつかの流れ(フロー)があり、今回はその中でも特にセキュアである認可コードフローでシングルサインオンを実現してみようと思います。

# 認可コードフローとは
認可コードフローとは、クライアントID・クライアントシークレットを安全に保存できるアプリ(コンフィデンシャルクライアント)に適したフローです。
ユーザを介さずクライアントとOP(認証基盤)間でのみアクセストークンの受け渡しをするため、アプリケーションユーザにアクセストークンが流出するリスクが低いことが他のフローと比較したときの大きな特徴です。

以下は具体的なシーケンス図となります。


“`mermaid
sequenceDiagram
actor User as アプリユーザ
Participant RP as アプリ(Relying Party)

元記事を表示

Apache Pulsar Key_Sharedサブスクリプションタイプの嬉しさと課題点、そして解決

## はじめに
> Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud.
>
> [Apache Pulsar | Apache Pulsar](https://pulsar.apache.org/)

Apache Pulsar(以降、Pulsar)とは、メッセージング・ストリーミングプラットフォームの一種である。
基本的なところは他のドキュメントに譲る。例えば拙著では [メッセージングPF「Apache Pulsar」の使い方(入門編)](https://qiita.com/equanz/items/47aaa70da4ebe8dd3e67) を参考にしていただくと良いかもしれない。

本稿では、サブスクリプションタイプのうち Key_Shared についてその嬉しさと課題点を思うままに述べてみる。これは何らかの公式見解などではなく、**あくまで私的な意見**であることに注意されたい。
本稿はPulsarのユーザに向けた機能紹介をするもの

元記事を表示

【Linux】Linus Torvalds、Linuxカーネルからロシア人開発者を追放して騒動に

2024/10/18、[Linux Foundation](https://www.linuxfoundation.org/)社員・カーネル開発者である[Greg Kroah-Hartman](https://github.com/gregkh)によってLinuxコアにひとつのcommitが入りました。

# [Remove some entries due to various compliance requirements](https://github.com/torvalds/linux/commit/6e90b675cf942e50c70e8394dfb5862975c3b3b2)

:::note
Remove some entries due to various compliance requirements.
They can come back in the future if sufficient documentation is provided.
:::

![01.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

oss-licensesを使用してOSSライセンスを表記する

## はじめに
* Androidアプリ開発の際にOSSライセンス表記が必要になる場合がある
* 自動で表示をしてくれるAPIをGoogle公式が提供してくれているため試す
* [オープンソースの通知を含める](https://developers.google.com/android/guides/opensource?hl=ja)

## 対象者
この記事の対象者

– Androidアプリ開発初学者

## 最低限で実装してみる

### gradle
“` gradle:build.gradle.kts
buildscript {
repositories {

google() // maven { url(“https://maven.google.com”) } for Gradle <= 3 } dependencies { ... classpath("com.google.android.gms:oss-licenses-plugin:0.10.6") } plugins { id("com

元記事を表示

オープンソースカンファレンス2024 Online Fall 聴講レポート

# 1. はじめに
## 自分とOSSの関わり
こんにちは。インプリムのhmineです。

ふだんの業務では、自社の製品である、OSSのノーコード・ローコード開発ツール「[**プリザンター**](https://www.pleasanter.org/)」の機能追加や製品改良を担当しています。

お客様にとって、ノーコード・ローコード開発ツールの選択肢はいろいろとある中でも、「OSSである」ということが、プリザンターのサービス仕様上の大きな特徴です。
OSSであるために、お客様ご自身による実行環境の構築と動作検証が可能であり、しかもコード改変も可能という、個人利用やテック指向の方にとっても嬉しい仕様となっています。

:::note info
2024/10/23時点でプリザンターはAGPL-3.0ライセンスに準拠しています。最新の状況は以下GitHubのページをご確認ください。
– **Implem.Pleasanter**
– https://github.com/Implem/Implem.Pleasanter
:::

私は約1年前にプリザンターの開発チームにジョインしました

元記事を表示

OSSライセンスの種類

# OSSライセンスとは
ソフトウェアの利用許諾契約書(ライセンス)の一種で、ソースコードの入手、利用、改変、再配布等の内容を示したものです。

以下のサイトにオープンソースの定義が記述されています。

オープンソースの定義 (v1.9) 注釈付

簡単に言うと
* ソースコードが公開されている
* 再配布、改変してよい
* 誰でも利用してよい

というものです。
ライセンスの種類によって条件が増えます。

# OSSライセンスの種類
OSSライセンスは大きく3つに分類されます。

## 非コピーレフト
+ OSSライセンスのソースをライブラリとして呼び出したソースコードの公開が**不要**
+ OSSライセンスのソースを改造したソースコードの公開が**不要**

### MITライセンス
* 商用利用可能(無償かつ無制限に使用可能)
* 利用に伴い作成者はいかなる責任も負わない
* 著作権表示とライセンス条文と無保証である旨をソフトウェアの重要部分(ヘッダ部など)に記載する必要あり
* 複製・改変後のソースコードの公開義務なし

### BSDライセンス
*

元記事を表示

初めてのOSSコントリビュート【vue3, sidebase/nuxt-auth】

## はじめに
お疲れ様です。お久しぶりです。FAL([X: @fal_engineer](https://x.com/fal_engineer))です。
半年以上前になるんですが、初のOSSコントリビュートを出来たため今更ながら記事に残そうと思います。
**ちなみに自分は英語できません。正直中学レベル未満だと思います。**
いまだにBe動詞の必要性がいまいちわかりません。
たまに外人さんに道を尋ねられたりしますが、完全に日本語で返事しながらパッションによる会話をしています。何とかなります。

## この記事の対象読者
– OSSコントリビュートしてみたいが、具体的なネクストアクションが見えず困っている方

## きっかけ
当時、本業で自社サービスのフロントエンドのvue2 → vue3(正確にはNuxtBridge → Nuxt3)移行PJを担当させていただいていました。
(⇧実作業内容・選定理由について詳細に記述した記事が[こちら](https://xmart-techblog.hatenablog.com/entry/2024/03/18/110018))

⇧の記事にも記述して

元記事を表示

🐈画面上で猫が邪魔してくださる Rails gem を作って世界を平和にする

こんにちは、とまだです。

**猫ってかわいいですよね🐈**

私は猫を飼っています。

猫を飼っていると、目の前に猫が出てきて作業の邪魔をされることがありますが、それはそれでご褒美なのです。

ただ、猫アレルギーの人や、猫を飼うことができない環境にいる人にとっては、猫と触れ合う機会がなかなかありません。

そこで私は考えました。

> **誰もが猫に邪魔される幸せを味わえる世界を作りたい!**

この Gem は、そんな世界征服を目指す Ruby on Rails アプリ用の Gem です。

何を言っているか分からないかもしれませんが、**こういうこと**です👇

![画面収録-2024-10-04-19.45.20.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/364501/3ea1765e-93f2-9c3c-a9ec-26572e9bc655.gif)

これであなたの作業も捗ること間違いなしですね!!!!

休日に暇すぎてこの gem をご存知 [RubyGems.org](https:/

元記事を表示

talk-to-the-cityを使ってみた

## 概要

– OSS「talk-to-the-city」を試してみました
– 政治の話題ではなく、漫画のコメント分析に使用しました

[https://github.com/AIObjectives/talk-to-the-city-reports/tree/main/scatter](https://github.com/AIObjectives/talk-to-the-city-reports/tree/main/scatter)

## talk-to-the-city とは?

「talk-to-the-city」は、多くの意見をクラスタリングや分析できるオープンソースソフトウェア(OSS)です。

> Talk to the City is an open-source LLM interface for improving collective deliberation and decision-making by analyzing detailed, qualitative data. It aggregates responses and arranges si

元記事を表示

どうして我々にはLadybirdが必要なのか

インターネットブラウザ自体はたくさんありますが、その本体であるブラウザエンジンは現在3種類しかありません。
すなわちGoogleのChromium、MozillaのGecko、AppleのWebKitです。
かつては独自の実装を持っていたMicrosoftもOperaも、あまりに巨大になったコードベースに自力開発を諦めました。

ブラウザエンジンの減少による弊害は様々なところで論じられているのでここでは省略して、以下は新たに登場した第四のブラウザエンジン[Ladybird](https://ladybird.org/)について、開発者Chris Wanstrathによる紹介記事、[Why we need Ladybird](https://ladybird.org/posts/why-ladybird/)の紹介です。

# Why we need Ladybird

Webは現代の最も重要な発明のひとつす。
インターネットの成長に必要不可欠であり、そして我々の生活、仕事、学習、遊びを大きく変えつつあります。
Webは、それが可能にすること全て、そしてその技術が共同で、オープンに構築さ

元記事を表示

GROWI 7.0.20リリースノート

[オープンソースのWikiであるGROWI](https://growi.org/ja/)の最新版、7.0.20がリリースされました。大きな変更点はありませんが、リリースノートとして主な変更点を紹介します。

## 改善点

– ドロップダウンリストを有効にしたときの色を変更
– 管理ページの文言を一部修正
– アイコン付きクリップボードコピーボタン追加

## 不具合修正

– サイドバーの開閉時にPageControlsが予期せず動いてしまう不具合を修正
– CustomNavTabをレスポンシブ対応に

他、幾つかの不具合修正と各種メンテナンスも行われています。詳細は[Release v7.0.20 · weseek/growi](https://github.com/weseek/growi/releases/tag/v7.0.20)を参照してください。

## まとめ

GROWIはオープンソース、かつDocker composeなどで手軽に導入できます。ぜひ社内・研究室・自宅などで利用してみてください。

[OSS開発wikiツールのGROWI | 快適な情報共有を、全ての

元記事を表示

オープンソースビルドシステムのNxについて紹介します。

# はじめに

こちらの資料でNxというツールが紹介されていたが、「Nx」ってなんだ?って思ったので、調査した結果を備忘録がてら記載いたします。

なお、本記事はNxとは何か?ということだけ記載しております。
そのため既にNx
– Nxについて知っている
– Nxを使っている

という形にとっては既知の内容となりますので、本記事はスルーいただければと思います。

# Nxとは何か?

![Screenshot 2024-09-25 at 0.12.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6280/9d3d7950-c8cf-7171-3e56-2b46be7b6b10.png)

https://nx.dev/

こちらに記載の通り

“`
Build system, optimized for monore

元記事を表示

Railsガイドへコントリビュートするまでの経緯とそこから得られたもの

## はじめに

僕はエンジニアになって約1年です。

これまでOSS活動とは無縁だったのですが、ここ1ヶ月くらいでRailsガイドの日本語版・英語版の修正によるOSSコントリビュートが複数回できました。

日本語版(全4件)

https://github.com/yasslab/railsguides.jp/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Aclosed+

英語版(全3件)

https://github.com/rails/rails/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Aclosed+

どれも誤字脱字を修正しただけですが、この経験を通じてドキュメント修正がOSS活動の第一歩として最適だと肌で感じました。

そこでこの記事では、Railsガイドにコントリビュートするまでの経緯とその過程で得られたものについて、自らの経験をもとにまとめます。

– OSSってなんだか難しそうだけど挑戦してみたい
– ドキュメント修正

元記事を表示

Proxmox上でWindows Server 2022を立ち上げてみた

# はじめに
Windows Serverを自由に扱える環境が欲しいなと思っていたら、
無料試用版があることを思い出したので、自宅に環境構築しよう!となりました。
折角なのでProxmoxVE環境でVMを立ち上げてみたいと思います。

# 目次
1. [①Windows ServerのISOを手に入れる](#windows-serverのisoを手に入れる)
1. [②VirtIO ドライバーを手に入れる](#virtio-ドライバーを手に入れる)
1. [③VMを立ち上げる](#vmを立ち上げてみよう)
1. [④ログインして、ドライバーの設定をする](#ログインしてドライバーの設定をする)
1. [⑤さいごに](#さいごに)

# ①Windows ServerのISOを手に入れる

Windows Server 2022は、無料試用版が180日使えます。
(延長をすると最大1080日使えるとのこと)

下記サイトから、「無料で使用開始」の「ISO をダウンロード」を選択。

https://www.microsoft.com/ja-JP/evalcenter/evaluate-w

元記事を表示

統合監視ツール「Zabbix」を Almalinux 9 にインストールする

# はじめに
一年ほど前にZabbixでサーバーの監視環境を構築しました。
順調に稼働してくれているので、BCP用にZabbixをもう一台構築します。
前回は手順書を作成しなかったので、自分への備忘録的な意味も込めて記事を書きます。

# Almalinux 9 のインストールについて
この記事を参考にしてください。

https://qiita.com/TUDANUMA/items/caa2f98307396bc4e40b

# Zabbixとは

>Zabbix はアレクセイ・ウラジシェフによって作られた、ネットワーク管理ソフトウェアである。様々なネットワークサービス、サーバ 、その他のネットワークハードウェアのステータスを監視・追跡できる。 – Wikipedia (https://ja.wikipedia.org/wiki/Zabbix)

サーバーのCPUの値やサービスの監視ができ、設定してある閾値を超えたり、登録されている値を検出するとメールやSlackなどに警告が届く監視ツールです。

https://www.zabbix.com/jp/features

# 構築環境

元記事を表示

の◯太くん「助けて~!!こたえも~~~ん!!」

## はじめに
 9月上旬から、「kotaemon」というドキュメントとチャットでやりとりができるOSSが流行っているようです(図1参照)。GitHub の Star History を見ると、利用者が急増していることが分かります(図2参照)。Docker で簡単に使えるようなので早速試してみました。今回の例では、LLM に OpenAI の GPT-4o を利用しましたが、他にも、Claude や Local LLM の Ollama も利用できるようです。

– 図1 kotaemon のUI(公式GitHubから引用)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631481/4d66a050-64af-2c9f-030d-0052625194c8.png)

– 図2 kotaemon の Star History(公式GitHubから引用)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.

元記事を表示

サイトを埋め込み表示するGROWIプラグインの紹介

[オープンソースのWikiであるGROWI](https://growi.org/ja/)にはプラグイン機能が用意されています。自社のデータを表示したり、表示をカスタマイズするのに利用できます。

今回は、GROWIプラグインとして作ったWebサイト埋め込み表示プラグインを紹介します。非同期でデータを取得する際の注意点も合わせて紹介します。

![FireShot Capture 545 – API Test – GROWI – localhost 545.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/7f45abb3-c17a-74d1-5a5f-564c776ad743.jpeg)

## コードについて

コードは[goofmint/growi\-plugin\-embed\-site: GROWI Web site embed plugin](https://github.com/goofmint/growi-plugin-embed-site)
にあります。見るべきファイルとして

元記事を表示

OTHERカテゴリの最新記事