はじめまして。2019年1月に入社したSREスペシャリストのsonotsです。最近MLOpsチームのリーダーになりました。今回の記事はMLOpsの業務とは関係がないのですが、3月に弊社で実施した会社用GitHub個人アカウントの廃止について事例報告します。 TL;DR 会社用GitHubアカウントを作るべきか否か問題 会社用GitHubアカウントの利用で抱えた問題 1. OSS活動時にアカウントを切り替える必要があり面倒 2. GitHubの規約に準拠していない 会社用アカウントを廃止した場合にセキュリティをどのように担保するか GitHubのSAML single sign-on (SSO)機能について 会社用アカウントの廃止およびSSO有効化の実施 会社用GitHubアカウントを使い続ける場合 私用GitHubアカウントに切り替える場合 Botアカウントの場合 Outside Coll
はじめに みなさんは自分が欲しい機能を持ったOSSを見つけたものの「使っているうちに開発が止まったりしないだろうか」と思ったことはないでしょうか。あるいは似たような複数のOSSのうちのどれを採用するかという選択を迫られて悩んだ経験はないでしょうか。筆者はどちらもよくあります。本記事はこのようなときOSSの継続性が高いかどうか(言い方を変えると今後も開発が続きそうかどうか)を推測するための筆者の基準についていくつか紹介します。題材とするのはgolangのデバッガとして知られる二つのソフトウェア、delveとgodebugです。 delveとgodebugはそれぞれ2014年5月と2015年という比較的近い時期に誕生した(initial commitされた)、golangで作られたプログラムのデバッガです。ソースコードの規模も数千行と、それほど違いはありません。現在前者は勢いよく開発中、後者は
はじめに Linuxカーネル(以下カーネル)に機能を追加する、あるいはバグを修正する自作コードには次の2つの種類があります。 独自カーネルモジュールの作成 カーネル本体の変更 これらの変更を長期間メンテナンスするには次の方法があります。 Linux開発コミュニティに働きかけて独自コードを公式のmainlineと呼ばれるツリーにコードをマージする 独自コードを自分自身で管理して、mainlineカーネルの新バージョンが出るたびに追従する(後述) 本記事は前者の方法に比べて後者の方法をとった場合に必要なメンテナンスコストについて述べます。本記事の表題にはlinuxと書いていますが、linuxと似たようなドラスティックな変更(後述)を是とするソフトウェアすべてに当てはまる話なのでlinuxの開発には関係ないかたにも役立つ話かと思います。 独自カーネルモジュールを作る場合の追従コスト 昨日書いたエ
今日は十数年ぶりに FreeBSD のカーネル・コードを眺めています。ディレクトリ構成は確かこんなだったなぁ、ファイル名の付け方は確かこんなルールだったなぁ、システム・コール xxx() のカーネル内の入口関数は sys_xxx() でカーネル内呼び出し用は kern_xxx() だったなぁ、あんな構造体あったなぁ、こんな構造体もあったなぁ、このフックの先はこうなってたなぁ、こうやってリンカーに情報渡してたなぁ、などなど少しずつ思い出しながら眺めています。 それはさておき、カーネル・コードを眺めていたら、ソース・ファイルの先頭に「SPDX-License-Identifier: BSD-2-Clause-FreeBSD」という記述があるのを見つけました。どうやらソフトウェア・ライセンスの種類が一目でわかるようにするための識別子のようです。FreeBSD のカーネル・コードはファイルごとにラ
Safari 12では、日本語入力中でもTabキーによるフォーカス移動が動作する。 過去のバージョンやChromeなどとは動作が異なるためリグレッションバグと考え、WebKitにバグレポート(#188370)を行なった。 修正コミットがtrunkにされたので、いずれSafariでも修正されるはず。(2018-8-17追記: Version 12.0 (14606.1.36.1.3)で反映された) 💥遭遇 AquaSKKでは入力中にTabキーを押すと入力内容が補完される。 これを使ってTweetしようとした際に、フォーカスが移動してしまって困った。 問題箇所の切り分けのために、いろいろな環境で動作を確認した。その結果、以下のことが分かった。 標準の日本語入力でもAquaSKKでも発生する。 Google Chromeでは発生しない。 MojaveでもHigh Sierraでも発生する。 S
オープンソース運動初期の頃に日本国内の有志数名が集まったOpen Source Group Japanというグループがあります。このOpen Source Group Japanでは、日本国内において2002年から「オープンソース/Open Source」という商標(登録4553488号)を登録していますが、今月になり同登録商標に対して不使用取消審判が請求されたという連絡を弁理士事務所から受けました。 この審判請求に対して使用確認等の反証を行うか否かは8月上旬に決定することにしておりますが、我々のグループでは本商標がどれだけ利用されているか全容を把握しているわけではありませんので、我々が早急に利用事例の確認をするためには広く一般に事案を周知する必要性があること、また、不使用取消審判という言葉のイメージや審判の請求元が出願している商標の影響から、今後の「オープンソース」という名称の利用への懸
HackMD 超便利ですよね。PCとスマホで同時に開き、編集がリアルタイムに同期するさまを見たときは感動&興奮しました。 そんな HackMD を職場のオンプレミス環境に導入したときの備忘録です。そのサーバーではすでに Apache Web Server が動いているので、リバースプロキシを使ってサブディレクトリに公開します。 条件 CentOS 7.4 Apache 2.4 公開URL: https://example.com/hackmd/ HackMD データ保存先: MySQL HackMD 認証方法: GitLab OAuth のみ HackMD インストール ※ 公式の README 通りに進めます Node.js, npm をインストール: sudo yum install -y nodejs npm MySQL にて HackMD 用のユーザーおよびデータベースを作成 Gi
直面する問題を解決したらkaminariができた。Ruby / Railsコミッター松田明のOSS開発の実像 世界中のRubyプログラマに使用されるOSSであるkaminari。これを手がけたRuby / Railsコミッター松田明さんに、開発背景を聞きました。 「これがあったら便利なはずだ」という予測。 あるいは、「これが問題だから、解決する」という現状認識。 新たな技術が生み出される源流にあるものとは、一体なんでしょうか。 Ruby on Rails(以下、Rails)を用いたWebアプリケーション開発において、圧倒的な存在感を放つページネータであるkaminariを開発した松田明(まつだ・あきら/ @a_matsuda )さんの場合は、“絶対に”後者であると語ります。 Rails、そしてRubyのコミッターでもある松田さんは、まさにRubyを用いた開発の最中、先行するソフトウェアに感
SOFTICが主催するセミナー「IoT時代におけるOSSの利用と法的諸問題及び留意点」に出席した。 http://www.softic.or.jp/seminar/180228/index.htm ソフトウェア関連の法務を取り扱っていると,OSS問題は頻出である。しかし,少なくとも日本では裁判例などもないため,法的問題については答えがない課題が多いうえに,法務の立場からは「動的リンク」「ライブラリ」などと言われても,具体的にどういう状態なのかわからず,避けたくなる分野だといえるだろう。 OSSのさまざまな論点は,ずっと前から存在していたが,このセミナーの表題には「IoT時代における」とついていたことから,IoTになると何か固有の新しい問題が起きるのかな?と思って参加することにした。 しかし,内容的には,従来から挙げられていた論点の整理が中心で「IoT時代」固有のトピックについては特になかっ
いつの間にか2年間継続してコードを書いていたので、その振り返りです。上のインコは日々僕を応援してくれる二羽のインコのうちの一羽です。この後本をボロボロに噛みちぎっていきました。 1年目との違い去年こんなポストを書きました。 このとき、自分はコードを1年継続して書いたわけですが、その後また1年継続してコードを書いていました。 1年目とは「書きたい」と思うものも変わりました。また、習慣を維持する労力も小さくなり、コードを書くことそのもの以外の、登壇などの時間を取れるようになりました。 この1年で新たにやったことツール作成markdownをMediumポストにするCLIツールAWS SSMで管理されたパラメーターを環境変数にInjectするツールGoogle Cloud Platform API向けに使える、goonと同様のDatastoreクライアント基盤作成AWS上にTerraform+An
はじめまして。2018年1月に入社した奥田(@yag_ays)です。 先日、scikit-learn-contribの1つであるCategory Encodersの最適化を実装したPull Requestがマージされたので、そこに至るまでのプロファイルや最適化の過程を紹介したいと思います。 普段、私の仕事は機械学習やデータ分析がメインで、あまりPythonの処理レベルで早いコードを書いたりすることはありません。もちろん最適化なんてことについては、あまり経験を持っていない素人なのですが、この記事が皆さんのプロジェクトを最適化する際の参考になれば幸いです。 tl;dr scikit-learn-contribの中のcategory_encodersの実行速度を最適化した Pythonのプロファイリングにはline_profiler、デバッグにはpdbが便利 Pandasのカラムをfor文で書き
書いたオープンソースソフトウェアがお金になった話をしようと思います。 OSS書いてGitHubに公開して有名になって、ある企業からスカウトされオファーが来て転職して年収アップ!そういう話ではなく、マジで自分の銀行口座にお金が振り込まれて来た話です。 https://dongri.github.io/2014/06/oauthswift/ こちらのブログにも書いたように、2014年Swiftが出て「みんなでSwift勉強しようぜ」と社内ハッカソンやってたらOAuthがそう簡単にできないことがわかり、OAuth関連のライブラリを書いてみようと思い始めたプロジェクトがOAuthSwiftでした。初めは自分が必要だったFlickr OAuth, Twitter OAuthだけだったが、どうせならOAuth, OAuth2両方対応しようと思いGitHubなどOAuth2もサポートするようにしました。
本記事は東京大学工学部電子情報工学科の「大規模ソフトウェアを手探る」という実験の報告記事です 学校の授業でOSSにコントリビュート? 東京大学工学部電子情報工学科にはあらゆる工学系学科の例に漏れず「実験」の授業があります。 実験の内容はいくつかのテーマの中から選択することができ、例えば 「OpenCV/OpenGLによる映像処理」 「情報可視化技術とデータ解析」 「AIロボットを作ろう」 などのテーマが用意されています。 私はその中から 「大規模ソフトウェアを手探る」 というものを選択し、 その結果としてFirefoxのJavaScriptエンジンである SpiderMonkeyにコントリビュートすることができました。 コミットログ1(私の名前のコミット): https://hg.mozilla.org/mozilla-central/rev/7371550c7fc5 コミットログ2(ペア
AGS Script1 ActionScript4 Ada1 AngelScript1 Assembly24 BASIC5 BlitzBasic3 BlitzMax1 C250 C#107 C++494 CoffeeScript3 Common Lisp3 D1 Delphi17 Elm2 Emacs Lisp1 F#2 Fortran1 GDScript14 Game Maker Language1 Go12 Haskell1 Haxe1 Inform 61 Java84 JavaScript98 Kotlin4 Lisp1 Lua49 Nim1 Object Pascal1 Objective-C4 Odin1 PHP4 Pascal12 Perl3 Python60 QBasic1 QuakeC2 ReScript1 Ruby3 Rust16 Scala2 Squirrel1 Swi
このエントリでは、Raúl Kripalaniによる記事、If you’re a startup, you should not use React (reflecting on the BSD + patents license)を紹介する。 (Raúlから和訳と転載の許可は得た。) 以下はその全文の和訳だが、意訳超訳が混じっているので、もとのニュアンスを知りたければ元記事を読んでもいいし、読まなくてもいい。 2017/9/23追記: React、Jest、Flow、Immutable.jsがMITにリライセンスされるというアナウンスがFacebookからあった。 コミュニティの大勝利だ。 現在オープンソースコミュニティで起こっていることには落胆させられる。 特に、オープンソースのおかげで多くのスタートアップやビジネスが存在することを認識したときは。 独占的なソフトウェアのために法外なラ
自己紹介 本記事を担当することとなりました、ynuma と申します。 初投稿となりますので、簡単に自己紹介させていただきます。 現在はフリーで働いておりまして、一応ソフトウェアエンジニアの端くれではありますが、業務内容は ハードウェア の評価を担当する事が多いです。 ソフトウェアライセンスの分野については、以前から興味はあったのですが、普段接する機会も少ないので知識が乏しく、機会があれば勉強してみたいと思っておりました。 そんな折、仕事仲間のhermit4が「Qtのライセンスについて調べる」といっていたので、「これは!!」と思い、お願いして代わりに調べて記事を書かせてもらうこととなりました。 誤り等も多いかと思いますが、色々ご指摘をいただいて、記事をバージョンアップできればと思いますので、ご協力の程をよろしくお願いします。 Qt License の概要 はじめに、Qt の License
オープンソースソフトウエアのラインセンシングと IPR:Intellectual Property Right (知的財産権)についての情報です。 オープンソースライセンスの説明
JavaScriptライブラリ「React.js」をはじめとした米Facebookのオープンソースプロジェクトについて、オープンソースのライセンス問題が持ち上がっている。Apache Software FoundationがFacebookプロジェクトを使用禁止としたことが発端だが、Facebookはこれについてライセンスを変更することはないと発表した。 Facebookは複数のオープンソースプロジェクトを抱えるが、これらの成果物では標準のBSDライセンスに特許紛争に関わる条文を加えたライセンスを採用している。このライセンスの背景として、Faceobookは特許訴訟などを事業とするパテントトロールからの防御のためと説明している。もしFacebookを相手取って任意の特許について訴訟を起こした場合、ライセンスは失われることになる。 これについて、HTTP Serverを始め350以上のオープ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く