<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gpl on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/gpl/</link>
		<description>Recent content in Gpl on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Tue, 28 Sep 2021 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/gpl/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Debian の perf を高速化するパッチと、そのGPL的な背景</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/</link>
				<pubDate>Tue, 28 Sep 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/</guid>
				<description>&lt;p&gt;Cargo の &lt;a href=&#34;https://github.com/flamegraph-rs/flamegraph&#34;&gt;flamegraph&lt;/a&gt; ツールが&lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911815&#34;&gt;Debian の perf のせいでとても遅い&lt;/a&gt;という話。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/example_cropped.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/example_cropped_hu_9c524255cc8709fc.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/example_cropped_hu_ce280d565fd6d098.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/example_cropped_hu_4dc32e8f18544df0.webp 2284w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/09/debian-perf-slowness-comes-from-license-incompatibilities/example_cropped.png&#34; width=&#34;2284&#34; height=&#34;862&#34; alt=&#34;Cargo flamegraph sample&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;perf コマンドがプロファイルデータを解析する際に libbfd をリンクすればずっと高速になるのですが、&lt;a href=&#34;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911815#15&#34;&gt;Debian のポリシーでライセンスに違反するため libbfd をリンクすることはできない&lt;/a&gt;そうです。&lt;/p&gt;&#xA;&lt;p&gt;[修正] コメントでの指摘を受け修正しました&lt;/p&gt;&#xA;&lt;p&gt;perf のライセンスが GPL バージョン2、libbfd のライセンスが GPL バージョン3+ であり、これら二つのプロジェクトを&lt;a href=&#34;https://mag.osdn.jp/07/06/05/0114203&#34;&gt;合法的にリンクさせる方法がない&lt;/a&gt;そう。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://salsa.debian.org/kernel-team/linux/blob/master/debian/rules.d/tools/perf/Makefile#L45&#34;&gt;Debian の Makefile では、わざわざ生成された perf コマンドが libbfd をリンクして「いない」ことをチェックするようになっている&lt;/a&gt;のですね。&lt;/p&gt;&#xA;&lt;p&gt;そんな訳で、Debian の perf は dso 一つごとに addr2line コマンドをパイプで呼び出す(そして、毎回サブプロセスは終了する)方式となっています。&lt;/p&gt;&#xA;&lt;p&gt;しかし、大量の perf 呼び出しを行う flamegraph を作ろうとした @leastfixedpoint さんは、いつまでも帰ってこない perf コマンドに業を煮やし、libbfd をリンクさせない範囲での高速化を考えました。&lt;/p&gt;&#xA;&lt;p&gt;この&lt;a href=&#34;https://eighty-twenty.org/2021/09/09/perf-addr2line-speed-improvement&#34;&gt;パッチでは&lt;/a&gt;、addr2line を別プロセスとして起動させたままにしておき、dso をデータとして送り付け結果を受け取っても、addr2line プロセスを終了させないことで、とあるデータ量に対して68倍速く処理が終わるようにできたそうです。&lt;/p&gt;&#xA;&lt;p&gt;対象のデータ量によっては気にならない程度の速度差なのかもしれませんが、同じようにここの処理速度で困ってる人もいるんじゃないでしょうかね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=28468751&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>オープンソース化された結婚式のウェブサイト(GPLライセンス)</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/</link>
				<pubDate>Thu, 29 Nov 2018 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/</guid>
				<description>&lt;p&gt;Oath社のソフトウェア・エンジニア、ラムさん(Ram)が結婚一周年を記念して &lt;a href=&#34;https://github.com/rampatra/wedding-website&#34;&gt;GitHub で公開した&lt;/a&gt;のは、彼が自身の結婚式のために製作したウェブサイト。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wedding.rampatra.com/&#34;&gt;デモサイト&lt;/a&gt;も公開されていて、動く様子を見ることができます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wedding.rampatra.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-demo_hu_b18542058fa1a011.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-demo_hu_35861ea7cbaad4c2.webp 768w, https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-demo_hu_ddb6cb91cacdf2bc.webp 831w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-demo.png&#34; width=&#34;831&#34; height=&#34;807&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;サイトは、二人の出会い(大学の同級生だそうです)、結婚式前後のイベント、参列者がインスタグラムに投稿する際のハッシュタグの案内(その写真は&lt;a href=&#34;https://www.instagram.com/explore/tags/ramandantara/&#34;&gt;こちらで見られます&lt;/a&gt;)、婚約式の写真、結婚式場の地図、が、モダンなレスポンシブデザインで提供されています。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wedding.rampatra.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-menu_hu_26561ffa4322dc40.webp 480w, https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-menu_hu_df32965b5a43e9ca.webp 768w, https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-menu_hu_e09ba6de14f820d2.webp 772w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2018/11/open-sourced-wedding-website/rams-wedding-website-menu.png&#34; width=&#34;772&#34; height=&#34;734&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;結婚式のウェブサイトのフォーマットとしては、この式が挙げられたインドでもどこでも大きく変わらないと思うのですが、コンテンツ内の&lt;a href=&#34;http://mew11x.doorblog.jp/archives/52641971.html&#34;&gt;メヘンディ、ハルディなどインドの結婚式独特の行事の案内&lt;/a&gt;や、そのドレスコードの説明などは興味深いと思いました。新郎新婦にウコンを塗りたくる儀式っていったい…&lt;/p&gt;&#xA;&lt;p&gt;参加不参加の表明(RSVP)は Google Sheet とメールで、ホスティングは GitHub Pages で実現されていて、同じものを完全に無料で動かすことができます。&lt;/p&gt;&#xA;&lt;p&gt;ライセンスはGPLv3ということで、これから結婚式を挙げるエンジニアの人は、これをベースにして作るのもいいかもしれませんね。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=18556787&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
