အခု တလော AI ခေတ်မှာ opensource ပြဿနာ တွေကို ဖတ်ရင်း license ကိစ္စတွေ ရောက်သွားတယ်။ တကယ်တန်းတော့ Enterprise တွေ Opensource တွေ ပေါ် မတရား ဗိုလ်ကျ တာတွေ အများကြီးပဲ။
ဥပမာ Redis ပေါ့။ Amazon က ElastiCache ဆိုပြီး Redis နဲ့ ထုတ်တယ်။ Redis ကတော့ ပိုက်ဆံ မရဘူးပေါ့။ Amazon ပဲ server တွေ ရောင်းကောင်းပြီး ပိုက်ဆံ တွေရတာ။ နောက်ပြီး Redis က မြင်တာက Amazon contribute လုပ်တာ မလုံလောက်ဘူး လို့ မြင်တယ်။ Amazon ဘက်က code တွေ module တွေတော့ contribute လုပ်တယ်။ ဒါပေမယ့် သူတို့ ရနေတာထက် စာရင် နည်းတယ်ပေါ့။ ဒါနဲ့ Redis က 2024 March မှာ BSD License မဟုတ်တော့ပဲ RSALv2 (Redis Source Available License) နဲ့ SSPLv1 (Server Side Public License) ဆိုသည့် Dual License ပြောင်းလိုက်တယ်။ အဲဒီတုန်းကလည်း ပွက်လော ရိုက်သွားတယ်။
SSPL က GPL လိုပဲကြမ်းတယ်။ SSPL ကို မပြောခင် GPL လိုင်စင် ကို အရင်ဆုံး ရှင်းပြပါမယ်။ GPL လိုင်စင် နဲ့ library , software တစ်ခုခု ယူသုံးပြီး ပြန်လည် ရောင်းချင် ထုတ်ဝေ သည့် အခါမှာ (derivative work ဖြစ်တယ်လို့ သတ်မှတ်ခံရရင်) GPL နဲ့ ပဲ ပြန်ထုတ်ပေးရတယ်။ ဥပမာ XYZ ဆိုသည့် library က GPL ။ ကိုယ့် Enterprise မှာ XYZ ကို သုံးထားတယ်။ အဲဒီ Software ကို ရောင်းသည့် အခါမှာ Software တစ်ခုလုံး GPL နဲ့ ပြန်ထုတ်ပေးရနိုင်တယ်။ ဒါကြောင့် နောက်ပိုင်း GPL library တွေ ဆို software သမားတွေ သတိထားကြတယ် ။ Company တွေလည်း သတိထားကြတာ။
Linux Kernel က အခုအချိန်ထိ GPLv2 ပါ။ Linux က kernel ပါ။ library မဟုတ်ပါဘူး။ linux ကို သုံးရုံ နဲ့ software ကို open source လုပ် GPL လုပ်ပေးစရာမလိုပါဘူး။ GPL မှာက integrate လုပ်သုံးတဲ့ ပုံစံ (linking, architecture) ပေါ်မူတည်ပြီး obligation တွေ ကွာတတ်တယ်။ ဥပမာ API service ခွဲပြီး library ကို သုံးထားတဲ့ design တွေ ရှိတယ်။ ဒါတွေက legal အနေနဲ့လည်း အမြဲ clear-cut မဟုတ်ဘူး။ နည်းနည်းတော့ ရှုပ်တာပေါ့။ အတော်ကြာမှာ LGPL ဆိုတာ ထပ်ပေါ်လာပြီး Software တစ်ခုလုံး GPL လိုင်စင် သတ်မှတ်ဖို့ မလိုဘူး ဖြစ်လာတယ်။ AGPL ဆိုရင် Cloud ပေါ်မှာ သုံးရင်တောင် Code ကို opensource ပြန်ပေးရတယ်။ GPL ဆိုရင် Cloud ပေါ်မှာ run သည့် software ကို opensource ပေးဖို့ မလိုဘူး။
Rabbit Converter စရေးဖြစ်တာလည်း အဲဒီ အချိန်တုန်းက Zawgyi to Unicode library အကုန်လုံးနီးပါးက GPL တွေ ဖြစ်နေလို့။ ဒါကြောင့် Rabbit Converter ကို WTFPL လိုင်စင် နဲ့ ထုတ်ခဲ့တာ။ “DO WHAT THE FUCK YOU WANT TO.” မင်းလုပ်ချင်တာလုပ်။ ငါ့ကို လာခွင့်တောင်း မနေ နဲ့ ဆိုပြီး ထုတ်ခဲ့တာ။
SSPL အကြောင်း ပြန်ဆက်ရရင် MongoDB က စခဲ့တာ။ Software ကို အသုံးပြုပြီး Cloud Service (SaaS) ပေးမယ်ဆိုရင်၊ အဲဒီ Service ကို ပတ်ပတ်လည်က ဝန်းရံထားတဲ့ Code တွေအကုန်လုံး (Management tools, Automation, Backup tools, Monitoring) ကိုပါ Open Source အဖြစ် အကုန်ချပြရမယ်။ တနည်းပြောရင် မင်း ငါ့ ကို ယူပြီး ရောင်းမယ်ဆိုရင် မင်းဘက်က system တစ်ခုလုံးကိုလည်း share ပြန်လုပ်ရမယ်ဆိုတဲ့ သဘောပဲ။ Cloud မှာ လွယ်လွယ် နဲ့ ရောင်းလို့ မရတော့ဘူးပေါ့။
WordPress က GPLv2 ပါ။ သူလည်း WP Engine နဲ့ အတော် ပြဿနာ ဖြစ်ခဲ့တယ်။ WP Engine က cloud/service အဖြစ် ရောင်းတာဖြစ်လို့ source code ပေးစရာမလိုဘူး။ နာမည်တူနေလို့ လူတွေက WordPress နဲ့ WP Engine အတူတူပဲ ထင်ကြတာ အများကြီးပဲ။ MongoDB, Redis တို့လည်း SaaS သမားတွေကြောင့် နစ်နာရတယ်လို့ မြင်ကြတာတွေ ရှိတယ်။ အဓိကက contribution vs value extract balance မညီတာပဲ။
အဲဒီတော့ Amazon က Redis version အဟောင်း (လိုင်စင်မပြောင်းခင်က version) ကို fork လုပ်ပြီး Valkey ဆိုပြီး Linux Foundation အောက်ကနေ ထုတ်တယ်။ Valkey မှာ Amazon (AWS), Google, Alibaba, Huawei, Ericsson, Tencent စသည့် company တွေ က software engineer တွေ ပေါင်းပြီး contribute လုပ်တယ်။ ပြီးတော့ သူတို့ server တွေမှာ Redis-compatible engine အဖြစ် ပြန်သုံးကြတယ်။ ElastiCache မှာလည်း Valkey support ပေးလာပြီ။
Redis, MongoDB လိုင်စင် ပြောင်းတာနဲ့ ပတ်သက်ပြီး တချို့ opensource သမားတွေက သဘောမကျဘူး။ ဥပမာ PHP, Ruby, Ruby On Rails တို့ ဆို opensource ပေးထားပြီး အဲဒီ ပေါ်မှာ software တွေ ရေးကြသည့် company တွေ အများကြီး။ အဲဒါကို တွယ်ကပ်ပြီး ပိုက်ဆံလိုက်တောင်း နေလို့ မရတာ ဆိုပြီး ပြန်ပြောကြတာတွေ ရှိတယ်။ တကယ်တန်းတော့ ရှင်သန် ပုံခြင်း မတူညီကြသည့် အခါ မြင်သည့် ရှု့ထောင့်လည်း ကွာသွားတယ်။
Opensource မှာ ပြဿနာ တစ်ခုက Cloud Provider တွေ value အများကြီးယူနိုင်ပြီး contribution မညီတာလို့ မြင်ကြတာတွေ ရှိတယ်။ ဒါပေမယ့် တချို့ company တွေကတော့ actively contribute လုပ်နေကြတာလည်း ရှိတယ်။
MIT license မှာ contribute လုပ်သည့် သူတွေ pull request တင်သည့် သူတွေ နားလည် ဖို့ တစ်ခုရှိတယ်။ ကိုယ့် pull request ကို main repo က accept လုပ်ပြီးရင် သူတို့ ရဲ့ enterprise ထဲမှာ ထည့်ရောင်းရင်လည်း ပါမှာပဲ။ အဲဒါကို ငါ့ code ကို မင်းတို့ ရောင်းသည့် အထဲမှာ မပါနဲ့ ပြောလို့ မရဘူး။ Developer တွေ အနေနဲ့ contribute လုပ် အလကား ရေးပေးလိုက်ရပြီး မင်းတို့ ပြန်ရောင်းစားတယ်လို့ မခံစားဖို့ လိုအပ်လိမ့်မယ်။
နောက်ပြီး သူတို့ ရောင်းစားသည့် feature ကို pull request တင်ရင် reject လုပ်ခံရမှာပဲ။ ဒါကို မတရားဘူးလို့ Developer တွေက ထင်ကြတယ်။ Opensource ဆိုပေပမယ့် business လုပ်နေတာ ဖြစ်လို့ business ထိခိုက်မယ့် pull request တွေကို reject လုပ်တယ်။ ဥပမာ Audit Log က enterprise feature။ ကိုယ်က pull request တင်ရင် reject လုပ်မှာပဲ။ မကျေနပ်လို့ fork လုပ်လို့ ရတယ်။ ဒီလို မျိုး ပြဿနာတွေက opensource မှာ ဖြစ်နေကြပဲ။ ဒါကြောင့် တချို့ opensource တွေက source ပဲ ပေးထားပြီး pull request လက်မခံတတ်ကြဘူး။ တနည်းပြောရင် Source Available ပဲပေါ့။
AI ခေတ်မှာ pull request က ပိုဆိုးတယ်။ AI နဲ့ ပြင်ပြီး pull request တွေက အများကြီး SPAM လို တက်နေတာ။ အဲဒါကို manual ပြန်စစ်ရသည့် core developer တွေ အတော်ကို ပင်ပန်းတယ်။
AI ခေတ်မှာ နောက်ပြဿနာက MIT opensource တွေကို ယူပြီး repackage လုပ်ပြီး ရောင်းတဲ့ ပြဿနာပဲ။ CotEditor ရဲ့ license က source code ကို Apache ဖြစ်ပြီး image တွေကို CC BY-NC-ND 4.0 ဖြစ်တယ်။ AI ခေတ်မှာ Image တွေ icon တွေပြောင်းတာ မခက်ဘူး။ ပြောင်းပြီး ကိုယ်ပြင်ချင်သည့် အပိုင်း ပြင်ပြီး ရောင်းကြတာမျိုးတွေ ရှိတယ်။ ဒါက အစ ပဲ ရှိသေးတယ်။ နောက်ပိုင်း AI တွေ ကြောင့် opensource တွေ MIT license ကနေ တခြား license ပြောင်းလာကြလိမ့်မယ်။
ဒါကြောင့် နောက်ပိုင်း opensource လုပ်မယ် ဆိုရင် ပိုပြီး စဥ်းစားဖို့ လိုတယ်။ လိုင်စင် တွေကို နားလည် ဖို့ လိုတယ်။
