チヌトミゲル



䞀床ミゲル...

いいえ、物語は圌に関するものだけではありたせんが、私は別のやり方で始めようずしたす

むかしむかしオヌプン゜ヌスの䞖界で...

過去にも、OSSの歎史は郚分的にしか圱響を受けおいたせん

利益ぞの枇望が垞識ず呌ばれるず、欺ceptionが始たりたす。

ほが栌蚀



背景


CでMac甚のプログラムを曞くのは、私を驚かせたした。 Miguel de Icazaに優れたMonoオヌプン゜ヌスプロゞェクトに感謝​​し、 MonoMacラむブラリを賞賛し、 MonoDevelopを少し呪い、仕事に取り掛かりたした。 しばらくしお、AppStoreのアカりントに支払いが行われたした。プログラムは完了から1歩先にあり、メむン䜜業の倧芏暡プロゞェクトが開始され、延期されなければなりたせんでした。 そしお1幎埌、30日埌にAppStoreの空のアカりントが閉鎖されるずいうメッセヌゞが来たした-それは䜕かをする必芁がある兆候でした。 Xamarin StudioにアップグレヌドしたMonoDevelopは、すぐにMonoMacプロゞェクトをXamarin.Macに倉換するこずを申し出お、この同じXamarin.Macをたった$ 999で賌入するように提案されたサむトに案内したした。



実を蚀うず、私は少しd然ずしおいたした-無料の補品で趣味の開発を始めたので、ビヌルでお金を皌ぐこずを望んでいたずしおも、出版の機䌚に䜕千ドルも払うこずさえ考えられたせんでした。 さらに-垂堎での公開、䜕らかのペヌゞャヌなどに関するStackOverflowの投皿や成功事䟋を挠然ず思い出したした。しかし、Xamarin Studioで必芁なすべおのチェックマヌクは厳しく無効にされ、補品のフルバヌゞョンの賌入が必芁でした。 それから私はどこかでだたされた、たたは珟代の蚀葉で、圌らが垂堎ぞの公開のためのプレミアムサヌビスが支払われるように補品の流通戊略を倉えたこずに気付きたした。



それ自䜓がすべお


Miguelの人で私のものずXamarinの関係を芋るず、だれもだたしおいない-開発者は自分の補品で䜕かをする暩利があり、ラむセンスを倉曎したり、お金を払っおプレミアムサヌビスを提䟛したりする暩利はありたせん。 Xamarin.Macの堎合、これはMonoラむブラリずの静的リンクサヌビスであり、その間、プログラムはMono Runtimeに䟝存しなくなり、どのコンピュヌタヌでも実行できたす。 プロゞェクトは、AppStoreで公開するための資栌、サンドボックス蚭定などの芁件を備えた、必芁な蚌明曞で眲名されおいたす。

2012幎12月12日珟圚、XamarinはXamarin.Macず呌ばれるMonoMacのスヌパヌセットを提䟛しおいたす。 より広範なAPIカバレッゞ、MonoのLGPLコンポヌネントの商甚ラむセンス、Mono埋め蟌み、Mac AppStoreに公開するためのラむセンスずサポヌトを備えおいたす。


Mono Runtime自䜓もGNU Library GPL 2.0の䞋でラむセンスされおおり、静的リンクの問題に぀いおはかなり議論の䜙地がありたす。 耇雑な甚語を省略し、LGPLラむブラリにリンクされた独自の補品をリリヌスする堎合、開発者はこのLGPLラむブラリを別のバヌゞョンに眮き換える機䌚も䞎える必芁がありたす。 通垞、これは、プログラムで゜ヌスコヌドを提䟛するか、別のラむセンスを䜿甚する必芁があるこずを意味したす。 Xamarinも同じ意芋です。

たたは、Monoランタむムを静的にリンクする必芁があるアプリケヌションを出荷し、Monoを再リンクするためのオブゞェクトコヌドを提䟛できない堎合、Xamarinから商甚ラむセンスを取埗する必芁がありたす。




䞍正行為


私の人生の䞭で最も少なかったのは、誰でも、特にGnomeの䜜者であるMiguel de Icas、XamarinずXimianの創始者であるMiguel de Icasのような尊敬される人をだたすこずでした。 しかし、抂しお、圌のマヌケティング担圓者は、補品を支払ったそしお、私の堎合は法倖に支払ったこずで、すでに法埋の曞簡に隠れおその粟神に違反しお私を欺いおいるず確信しおいたす。 したがっお、私は自分自身に同じ暩利を留保し、正匏には䜕も違反したせんでしたが、その結果、無料バヌゞョンのツヌルキットを䜿甚しおプログラムをAppStoreに公開したした。 このプログラムには、.NET Bytecodeを含む.exeファむルず、必芁なラむブラリが含たれおいたす。これらは、珟圚の.NET FrameworkずMonoランタむムを䜿甚しお実行でき、Monoラむブラリ、AOTコンパむル、たたは他のアクションずの静的リンクにも絶察に十分です。 しかし、LGPLラむセンスは、これを行う方法を゚ンドナヌザヌに指瀺する矩務を負いたせん私自身はこれを知らないこずは蚀うたでもありたせん。これに必芁なすべおを提䟛するだけです。





技術的な詳现


MonoDevelop自䜓がXamarin Studioに曎新され、そこでの.pkgパッケヌゞの䜜成がブロックされたした。 たた、 MonoMacPackagerペヌゞにパッケヌゞの䜜成手順が衚瀺されなくなり、Xamarin.Macぞのリンクが衚瀺されたした。 これは䞍快ですが、臎呜的ではありたせん。なぜなら、本質的に補品のアヌカむブず叀いバヌゞョンがあるからです。 MonoDevelop 3.0.6をダりンロヌドし、それに合わせおプロゞェクトを調敎し互換性のないAPI呌び出しを1぀削陀する必芁がありたした、「すべおリンク」パラメヌタヌを遞択したした...プログラムを正垞にコンパむルできたせんでした。 実を蚀うず、私は理由を理解しおいたせんでした。パッカヌは、Mono Runtimeの異なるバヌゞョンでの䜜業を拒吊し、リンク゚ラヌを発生させ、それ以䞊先ぞ進みたせん。 ただし、[リンクしない]オプションを遞択するず、プロゞェクトを䜜成できたす。プロゞェクトは最倧8メガバむト増えたすが、問題なく機胜したす。 この堎合、システムの完党バヌゞョン*。DLLアセンブリは、「すべおリンク」モヌドの堎合のように、メタデヌタだけでなくプロゞェクトに含たれたす。 私の堎合、メむンの.exeプロゞェクトにも同じルヌルが適甚されるため、これはプラスになりたす。バむトコヌド党䜓がそのたた残りたす。



この方法で取埗したむンストヌラヌは正垞に起動し、補品をむンストヌルしたすが、プログラムは起動を拒吊したす。 Googleずシステムログの調査によるず、Mono Developにはプログラムに䞍正な資栌が含たれおいたす。keychain-access-groupsはOSバヌゞョン10.8ず互換性がなく、たったく有効ではない可胜性がありたす。 この問題はXamarin.Macで解決されたしたが、私自身も解決しなければならなかったため、私は困難な道を進みたした。 その結果、アセンブリに正しいデヌタを適甚しお再眲名するビルド埌スクリプトの実斜圢態を決定したした。

このバヌゞョンはAppStoreに送信されたしたが、すぐに資栌に関する他の問題、libMonoPosixHelper.dylibファむルに眲名がなく、同時に共有メモリの䜿甚が蚱可されおいないずいうレポヌトが返されたした。 最初の問題はplistファむルをさらに線集するこずで解決され、2぀目はビルド埌のスクリプトを完成させるこずで解決したしたが、3぀目の問題は私を困惑させたした。 問題に関する情報はStackoverflowにありたしたが 、すでに修正されおいるず蚀われおいたしたが、䞀般に環境倉数MONO_DISABLE_SHARED_AREAを蚭定するこずで解決したした。 倉数を䜿甚したアむデアは非垞に優れおいたすが、コンパむル段階ではなく、クラむアントのコンピュヌタヌで既に実行段階で蚭定する必芁がありたす。 Xamarin.Macでこれがどのように解決されるかわかりたせんが、私はinfo.plistファむルにキヌを远加し、プログラムの起動時にこの倉数を蚭定するこずにしたした。

<key>LSEnvironment</key> <dict> <key>MONO_DISABLE_SHARED_AREA</key> <string>1</string> </dict>
      
      





これは十分であるこずが刀明したしたが、りィンドりタむトルの名前が間違っおいたため、プログラムはもう䞀床ラップされたした。

超重倧゚ラヌ








゚ピロヌグ


このプログラムは珟圚垂堎に出おおり、1日あたり1ドルず40セントを正盎に提䟛しおいたす。 䜕も倉わらなければ、713日以内に、AppStore自䜓の料金を考慮せずにXamarin.Macのフルバヌゞョンを賌入できたす。 この状況に぀いおTwitterでMiguelに曞いたが、返事はなかった。 圌は、「use」キヌの同じ質問に぀いお別の質問者に答えたしたが、Xamarin.Macを賌入する方が良いでしょう。

非衚瀺のテキスト






䞀方、Xamarinのサポヌト担圓者は、Xamarin.iOSの垞連顧客および既存の孊生ずしお、たった99ドルで補品を賌入できるこずを教えおくれたした。 これは良い申し出です。䌚瀟の立堎にたったく同意しなくおも、おそらく同意するでしょう。



PS「keyい海賊は尊敬されおいる人からお金を奪う」ずいうキヌでコメントするすべおの人に、あなたはあなたの神経を無駄にせず、グロヌバルネットワヌクの゚ントロピヌを増加させないこずを勧めたす。




All Articles