GODI çµäºå®£è¨äºä»¶ã«é¢ãã¦
A rough summary in English which might sound too more direct than the original Japanese version. Sorry if you feel attacked: pro came in and did great jobs, while a volunteer felt burnt out. Probably this kind of things happens in the world everyday, in OSS, in football, in finance, or in everything. But if he had been excluded from the project for pro's quick market domination..., it would not be very fair to call him simply "burnt out". True or false, this sad event made me, who enjoys small OCaml tool development in weekends, reconsider my way of future contribution to OCaml community.
OCaml ã®ããã±ã¼ã¸ã·ã¹ãã GODI ã®ä½è ã§ãã Gerd Stolpmann ã GODI ã®çµäºã宣è¨ãã¾ããã
çºç«¯ã¯ããã¦ã¼ã¶ã¼ã caml-list ã«æ稿ãã GODI ã¨ããã¦ããä¸ã¤ã®ããã±ã¼ã¸ã·ã¹ãã ã§ãã OPAM ã®é¢ä¿ãéãã«é¢ãã質åã®ã¡ã¼ã«ã§ãã
Gerd ã¯å½ç¶ GODI ã®ä½è ã§ããã GODI ã®å©ç¹ã説æããã ã OPAM ã«é¢ãã¦ãåæ©ãããããªãããªã©ã¨å°ãå³ããã³ã¡ã³ããããããã®åå¿ã¨ã㦠OPAM é£å¶ããããããã® OPAM ã®å©ç¹ã説æããã¾ãããGerd ã¯ããã«å¯¾ã㦠FUD ã ã¨ä¸»å¼µãããã®å¾å¥ã¹ã¬ããã«ã¦ GODI ã®çµäºã宣ä¸ãã¾ãããç°¡åã«è¨ãã°ããããã£ã¦ãããªããã¨ãããã¨ã§ãã
ç§ã¯å人çã«ã¯ GODI ã¯ä½¿ã£ã¦ããªãã£ãã®ã§ãããGerd ãããªãã®ã¨ãã«ã®ã¼ã GODI ã¨ããã¨ã³ã·ã¹ãã ã«æè³ãã¦ããã®ã¯ç¥ã£ã¦ãã¾ãããã¦ã¼ã¶ã¼ãããã®ã§ãããããããã¨ã«ãªã£ã¦ãã¾ã大å¤æ®å¿µã«æãã¾ããå®ã¯ OPAM ãåºã¦ããããããªãã¨ã«ãªãããããªããã¨å±æ§ãã¦ãã¾ããããã®å±æ§ãç¾å®ã«ãªã£ã¦ãã¾ãã¾ããã
Gerd ã®ã¡ã¼ã«ã®æé¢ã®ç«¯ã ããã OPAM 㯠GODI ããã¯ãããããã㯠GODI ãæ½°ããã¨ãã¦ããã¨æãã¦ãããã¨ã伺ãã¾ãããã¨ãã°å½¼ã¯ãã俺ã GODI ã§ãããæéæãã¦éçºãããã®ã OPAM ãã¼ã ããã£ã¦ãã¦åãåã£ã¦ãã£ããã¨æ¸ãã¦ãã¾ããOPAM ãã¼ã ã® Anil ã®åè«ã¯ããã½ã¼ã¹ããã±ã¼ã¸ã·ã¹ãã ãªãã OPAM ã GODI 以åã«ã OpenBSD ã¨ãã«ãããããã¤ã¾ãå¥ã«æ°è¦æ§ã®ããã¢ã¤ãã¢ã§ã¯ãªãã ããããããã¬ã¯ãééãã ãã¨ãããã®ã§ãã
ãã â¦ç§ã¯ Gerd ã®æ°æã¡ãããããã§ãããGerd ã GODI ä¸äººã§é å¼µã£ã¦ãã¨ããã«ã GODI ãæ¹è¯ããã§ããªããã¾ã£ããå¥ã®ããã±ã¼ã¸ã·ã¹ãã OPAM ãåºã¦ãããã§ãã£ã¦ããã£ã¦ GODI ã¯ä½¿ããªãã¨è¨ããããããé¢ç½ããªãã§ãããããã®ä¸ãOPAM ã®å ã ã®éçºã¯ OCamlPro ã¨ãã INRIA ã®ä¸ã®äººãåµæ¥ããä¼ç¤¾ã§ããOCaml ã使ã£ã¦ããä¼æ¥çããã®ã¹ãã³ãµãªã³ã°ã§ OCaml ã®ã³ã³ãã¤ã©ã®æ©è½ããã¼ã«ãå®è£ ããä¼ç¤¾ã§ãããã©ã³ãã人ãéãã³ããããã¾ãããããããæ°ãã OCaml ãã¼ã«ä½ã£ããã¨ãªãã°ãã¡ãã«æµãã人ã¯å¤ãã®ã§ãã
ç§èªèº«ãPro ã«ãã¯ã©ãããççµé¨ãããã¾ã(ãããã¤ãã¦ããã®ã¯ãããã¾ã§ç§ã¯æã£ã¦ããªãã¨ãããã¨ã§ãããããã¨ããããããé¡ããã¾ãï¼ãç§ã®ä½ã£ã OCamlSpotter ã¨ãããã¼ã«ã«é¡ä¼¼ããæ©è½ã®ãã TypeRex ã¨ãã IDE ç°å¢ãå½¼ãã¯å¾çºã§åºãã¦ãã¾ããTypeRex ã®ãªãªã¼ã¹ã®ã¡ã¼ã«ãè¦ãã¨ãã¯ããã¯ãªããã¨åæã«æ²ããã£ãã§ãããåæ¥ããæ¹åã§ã³ã³ã¿ã¯ããã¦ãããã°è¯ãã£ãã®ã«ã¨æãã¾ããã
ãã ãã®å½æç§ã¯ãã§ã« OCaml ã使ãä¼ç¤¾ãè¾ãã¦ã㦠Haskell ã使ãä»ã®ä¼ç¤¾ã«è»¢è·ãã¦ããããã¾ã OCaml ã«é¢ããéçºããã¦ããªãã£ããã caml-list ãå ¨ãèªãã§ããªãã£ãã®ã§ã OCamlSpotter ãã£ã¹ã³ã³ãï¼ã¨æããã¦ãä»æ¹ãªãã£ããããã« OCamlSpotter èªä½ç§ã使ãããã«ä½ã£ããã¼ã«ã§ãããç¹ã«ä»äººæ§ãå¥ã®åæ§ãªãã¼ã«ã使ã£ã¦ãã¦ãæ°ã«ãªããªãã£ããããå¥ã«ãããã¬ããã¯ãã¾ããã§ããã(ãããããç§ã¯ OCamlSpotter ãªãªã¼ã¹ããã¾ã§ç¥ããªãã£ãã®ã§ããã OCamlWizard ã¨ããåããããªæ©è½ã®å¥ã½ããã OCamlSpotter ããåã«åå¨ãã¾ããã)
ãªã¼ãã³ã½ã¼ã¹æ´»åã§ããããã³ã¼ãèªä½ãã©ã¤ã»ã³ã¹ç¡è¦ãã¦ãã¯ãã¦ãªããã°ãå¥ã«å¾çºãåæ©è½ã®å¥ã½ããåºãã¦ãã¦ãæ§ããªãã¨æããã§ãããOCamlSpotter ã¨ç°ãªã GODI ã¯åãªãã½ããã§ã¯ãªãããã±ã¼ã¸ã¬ãã¸ããªã§ããããä¸ã¤ã®ã¨ã³ãæä¾ãã¦ãã¾ããå½¼ã¯èªåã使ããããªãã½ããã¦ã§ã¢ã®ããã±ã¼ã¸ã³ã°ã«ãã¨ãã«ã®ã¼ãæå ¥ãã¦ããã¯ããä½å¹´ããã£ã¦ããã©ã³ãã£ã¢ä»äºã横ããçãããã¨æã£ãããçãå°½ããã¡ããã®ããããããªãã¨æãã¾ãããã©ãã㦠OPAM ã®äººã 㯠Gerd ã¨ä¸ç·ã«ä»äºããªãã£ãã®ããæ®å¿µã§ãã
å®ã¯ TypeRex åºç¾ä»¥éãOCaml ç³»ã®ãã¼ã«ããããªã®æ¬²ããããªãä½ã£ã¦å ¬éãããããããã¨æã£ã¦ããPro ãå¾ãããåãåããã«ããããããªããã¨æã£ã¦æãåºãæ°ãåºãªãã¨ããããã¾ãããã®ä¸ã§ãã¤ãæè¿ OCamlâScope ãå ¬éãã¾ãããããã㯠Pro ãå°ãªãã¨ããã°ããã¯ãã£ã¡æ¹ç®ã«æãåºããªããã ã¨å½¼ãã®æ´»åã¬ãã¼ããèªãã§ç¢ºä¿¡ãã¦ããå§ãããã®ãªã®ã§ãã
ãã¡ãã誰ãã©ããªã½ããã¦ã§ã¢ãåºããã¨æ§ãã¾ãããããããç§ã楽ããã§ä½ã£ã¦ãããã®ã¨æ©è½çã«ã¶ã¤ãã£ã¦ãã¦ãå¥ã«ç§ã¯ãããã¬ããããã¤ããã¯ããã¾ãããèªæèéå°ã¨è¨ãããã°ããã¾ã§ã§ãããã¨ã³ã·ã¹ãã æ¹è¯ããä¼ç¤¾ãç»å ´ãããã¨ã§ç§èªèº«ãã¨ã³ã·ã¹ãã æ¹è¯ããäºã«æ éã«ãªã£ã¦ãã¾ãã¾ããããã®ä¸ã§ã³ãã¥ããã£ã«ä½ãè²¢ç®ã§ããã°ã¨æ´»åãã¦ããã®ã§ãããããã« GODI çµäºå®£è¨ã§ãã大å¤ã«ãæ²ããæãã¾ããã