私の名前を消して改悪ソフトを配布された話
(2004/5/6)
https://gyazo.com/ac87e071f880e857bf4af9c3d77061d1 http://www.pitecan.com/Keisen/keisen.el
私がカーネギーメロン大学に訪問研究員として滞在していた1990年ごろ keisen.el というEmacs Lispのコードを書き、Nemacs作者の半田剣一氏にアドバイスをもらった後でJUNETのニュースグループ fj.sources に投稿した。keisen.elはそれなりに利用されていたと思うのだが、何故かそのソースをもとに機能追加を行なった keisen-mule.el というものが投稿されて、FreeBSDあたりの公式ディストリビューションに含まれてしまったようで、こちらの方が広く流通してしまった。keisen-mule.el の作者はソースコードから私の名前を消して自分の名前だけ書いて配布したようで、おかげで原作者が私だということが忘れられてしまった。 1990年作成の私の keisen.el は以下のようなコードである。工夫のキモは keisen-table という罫線文字の表なのだが、この表は keisen-mule.el でも同じものが利用されており、私が書いたコメントもそのまま残っている。なので原作者が私だということは誰が見ても明らかだと思ったのだが、この話をなかなか信じてくれない人が多くて困った。
嘘やパクりであってもそれが広まってしまうと事実のように判断されてしまうことがあるから、その手のものには早目に断固とした対応をしなければならないと思う。 また、できるだけ証拠は沢山残しておく必要があるだろう。Web時代といっても油断は禁物である。 GitHub時代にはこういう問題は起こらないかも...
改竄ヨクナイ
keisen.el コード
code:keisen.el
;; keisen.el -- provide facility for drawing ruled-line
;;
;; Copyright (C) 1990-2004 増井俊之 masui@pitecan.com
;;
中略
code:keisen.el
;;; 92.7.6 modified for Mule Ver.0.9.5 by T.Shingu <shingu@cpr.canon.co.jp>
;;; 92.7.13 modified for Mule Ver.0.9.5 by K.Handa <handa@etl.go.jp>
;;; 93.8.5 modified for dmacro.el by T.Masui <masui@shpcsl.sharp.co.jp>
;;; 93.8.5 modified for Mule Ver.1.1 by K.Handa <handa@etl.go.jp>
;;; To be used also with Nemacs.
;;; 2004.5.6 modified for Emacs21 by T.Masui <masui@pitecan.com>
中略
code:keisen.el
(defconst keisen-table "\
***└*─┘┴*┌│├┐┬┤┼\
**********┝*****\
*****┸**********\
┗***************\
**********┥*****\
━*┷*****┯*┿*****\
┛***************\
┻***************\
*****┰**********\
┏***************\
┃┠**┨╂**********\
┣***************\
┓***************\
┳***************\
┫***************\
╋***************"
"罫線キャラクタの各方向の枝の有無を8ビットで表現する。
インデックスの上位4ビットは太い線の有無を示し、下位4ビットが
細い線の有無を示す。")
keisen-mule.el コード
code:keisen-mule.el
;; このプログラムは、■■ 大学 ■■ 工学科の ■■ 年度卒業生 ;; ■■ さんと ■■ さんが作成し、■■ さんが配布したものを ;; ベースとして、MULE対応への修正及び機能追加を行ったものです。 ;; ;; keisen.el ver 1.2 (non-tabs version) ;; by ■■ ;;; ;; keisen-mule.el ;; Author : ■■ & ■■ ;; Modifier : ■■
;; <■■ @ ■■.co.jp, ■■ @niftyserve.or.jp> ;; Created : Dec 13, 1994 ;; Version : 2.02γ
中略
code:keisen-mule.el
(defconst keisen-table "\ └ ─┘┴ ┌│├┐┬┤┼\ └└──┴┴┌┌┝┝┬┬┼┼\ └ └┘┸┘┸│├│├┤┼┤┼\ ┗┗┗┗┸┸┸┸┝┝┝┝┼┼┼┼\ ─┘┴ ─┘┴┐┬┥┼┐┬┥┼\ ━━┷┷━━┷┷┯┯┿┿┯┯┿┿\ ┛┸┛┸┛┸┛┸┸┥┥┼┥┼┥┼\ ┻┻┻┻┻┻┻┻┿┿┿┿┿┿┿┿\ ┌│├┐┰┤┼ ┌│├┐┰┤┼\ ┏┏┝┝┰┰┼┼┏┏┝┝┰┰┼┼\ ┃┠┃┠┨╂┨╂┃┠┃┠┨╂┨╂\ ┣┣┣┣╂╂╂╂┣┣┣┣╂╂╂╂\ ┓┰┥┼┓┰┥┼┓┰┥┼┓┰┥┼\ ┳┳┿┿┳┳┿┿┳┳┿┿┳┳┿┿\ ┫╂┫╂┫╂╂╂┫╂┫╂┫╂╂╂\ ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋"
"罫線キャラクタの各方向の枝の有無を8ビットで表現する. インデックスの上位4ビットは太い線の有無を示し、下位4ビットが細い線の有無を示す. (下左上右)")