6 คะแนน โดย GN⁺ 2024-03-29 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อวันที่ 21 มีนาคม 2024 Redis Ltd. ประกาศว่าโครงการ "in-memory data store" ของ Redis จะออกภายใต้ไลเซนส์แบบไม่เสรีที่เปิดให้ใช้ซอร์สได้ตั้งแต่ Redis 7.4 เป็นต้นไป
  • ข่าวนี้แม้จะชวนไม่พอใจ แต่ก็ไม่ได้เหนือความคาดหมายแต่อย่างใด และจุดที่น่าสนใจคือมีตัวเลือกหลายตัวที่สามารถเลือกใช้แทน Redis ได้
  • ผู้ใช้ที่ต้องการใช้ซอฟต์แวร์เสรีต่อไป สามารถเลือกได้อย่างน้อย 4 ทางเลือก รวมถึง KeyDB ซึ่งเป็นฟอร์กเดิม และโครงการ Valkey ที่ Linux Foundation เพิ่งประกาศใหม่

ประวัติย่อของ Redis

  • Redis เป็นโครงการที่ Salvatore Sanfilippo (ชื่อเล่น "antirez") เริ่มขึ้นเพื่อใช้กับแอปพลิเคชันวิเคราะห์ล็อกแบบเรียลไทม์ชื่อ LLOOGG ซึ่งมีความต้องการที่ MySQL ตอบโจทย์ไม่ได้
  • มันถูกออกแบบให้เป็นฐานข้อมูลแบบพจนานุกรมอย่างง่ายแทนฐานข้อมูลเชิงสัมพันธ์ และชื่อของมันย่อมาจาก "remote dictionary server"
  • Redis ได้รับความนิยมอย่างรวดเร็วในฐานะส่วนหนึ่งของกระแส NoSQL และในปี 2010 ก็ได้รับการว่าจ้างจาก VMware ให้พัฒนาต่อ
  • Redis ได้รับความนิยมผ่านลูกค้าอย่าง Twitter และ Pinterest เริ่มถูกรวมในลินุกซ์ดิสทริบิวชัน และในปี 2013 ก็ถูกเพิ่มเข้าไปในบริการ ElastiCache ของ AWS

คลาวด์กับโอเพนซอร์ส

  • ผู้ที่สนับสนุนไลเซนส์ที่มีข้อจำกัดการใช้งานอย่าง SSPL และ RSAL ของ Redis พยายามนำเสนอเรื่องนี้ว่าเป็นเพียงการต่อสู้ระหว่างผู้ให้บริการคลาวด์รายใหญ่เช่น AWS กับโอเพนซอร์ส
  • แต่เมื่อดูรายชื่อผู้มีส่วนร่วมของ Redis จะเห็นได้ว่ามีนอกจากบริษัท Redis แล้ว ยังมีบริษัทอีกหลากหลายแห่งที่มีส่วนร่วมด้วย

การเปลี่ยนโมเดลการแจกจ่าย

  • Redis เป็นบริษัทที่ได้รับเงินลงทุนจากเวนเจอร์ และดูเหมือนจะคำนวณแล้วว่าการถอยห่างจากโอเพนซอร์สจะสร้างรายได้เพิ่มได้มากกว่า
  • หากดูกรณีของ MongoDB ก็จะเห็นว่าหลังย้ายไปใช้ SSPL ก็ยังเติบโตต่อเนื่อง และหลายบริษัทก็เลือกจ่ายเพื่อใช้งานมากกว่าจะโฮสต์บริการเอง
โฆษณา

ฟอร์กและทางเลือกต่างๆ

  • เพียงไม่กี่วันหลังจาก Redis เปลี่ยนไลเซนส์ ก็มีฟอร์กโดยตรงชื่อ Valkey เกิดขึ้น โดยมี AWS, Google Cloud, Oracle, Ericsson และ Snap สนับสนุนความพยายามนี้
  • KeyDB เป็นฟอร์กที่สร้างขึ้นในปี 2019 ด้วยเหตุผลทางเทคนิค และหลังจากถูก Snap เข้าซื้อ โค้ดเบสทั้งหมดก็ถูกทำให้เป็นโอเพนซอร์สเต็มรูปแบบภายใต้ไลเซนส์ BSD 3-clause
  • Drew DeVault ผู้ก่อตั้ง SourceHut ได้สร้างฟอร์กชื่อ Redict โดยใช้ LGPLv3
  • Garnet ของ Microsoft เป็นรีโมตแคชสโตร์ที่เข้ากันได้กับ Redis และออกภายใต้ไลเซนส์ MIT

การแข่งขันของตัวแทนทางเลือก

  • ลินุกซ์ดิสทริบิวชันกำลังเผชิญกับโจทย์ว่าต้องหาซอฟต์แวร์มาแทน Redis
  • ชุมชนของ Fedora, openSUSE, Debian และอื่นๆ กำลังพิจารณา KeyDB, Redict, Valkey และตัวเลือกอื่นๆ เพื่อใช้แทน Redis

เส้นทางต่อจากนี้

  • ยังเร็วเกินไปที่จะคาดการณ์ว่าฟอร์กใดฟอร์กหนึ่งหรือหลายฟอร์กจะได้แรงส่งมากพอหรือไม่ แต่ Valkey มีแนวโน้มสูงที่จะกลายเป็นทางเลือกที่เชื่อถือได้

3 ความคิดเห็น

 
iolothebard 2024-03-30

เดิมที Redis เองก็เป็นตัวเลือกทดแทนของ memcached อยู่แล้ว
แต่ก็ยังไม่เคยเห็นว่าการตัดสินว่าอะไรจะมาแทนเทคโนโลยีสักอย่างถูกขับเคลื่อนด้วยแคมเปญแบบนี้(?)
Only time will tell.

 
GN⁺ 2024-03-29
ความคิดเห็นจาก Hacker News
  • Redis Community Edition ยังคงใช้งานได้ฟรีต่อไป จะมีการซัพพอร์ต บำรุงรักษา และปรับปรุงต่อเนื่อง

    • นักพัฒนาไม่จำเป็นต้องหา Redis ตัวอื่นมาแทนในแอปพลิเคชันแบบ SaaS และซอฟต์แวร์บนเว็บ
    • จุดประสงค์คือเพื่อป้องกันไม่ให้ AWS นำ Redis ไปให้บริการเป็นเซอร์วิสโดยไม่จ่ายค่าตอบแทนให้กับนักพัฒนา Redis
  • Neal Gompa เริ่มการถกเถียงเรื่องการเปลี่ยนไลเซนส์ในรายชื่ออีเมลนักพัฒนา Fedora และชี้ว่าจำเป็นต้องถอด Redis ออกจาก Fedora

    • Gompa ยังยกประเด็นนี้ขึ้นในรายชื่อสนทนา Factory ของ openSUSE ด้วย
    • หลังจาก Docker ถูกทยอยเลิกใช้ หลายดิสทริบิวชันก็หันไปใช้ Podman เป็นทางเลือกแทน Docker และดูเหมือนว่าสถานการณ์คล้ายกันนี้จะเกิดขึ้นกับ Redis เช่นกัน
  • เพิ่งทราบเป็นครั้งแรกว่า Binbin Wang ซึ่งเป็น committer ของ Apache Kvrocks (ทางเลือกแทน Redis ที่ใช้ Flash) มีส่วนร่วมเกือบ 25% ของ commit ใน Redis เวอร์ชันใหม่

  • เหตุผลที่ไลเซนส์ AGPL ได้รับความนิยมมากขึ้นเรื่อย ๆ คือทุกคนยกเว้นเจ้าของลิขสิทธิ์ต้องปฏิบัติตามกฎที่เข้มงวดมาก แต่ซอฟต์แวร์แกนหลักยังคงเป็นโอเพนซอร์ส ทำให้ชุมชนยังได้รับประโยชน์อยู่

    • โดยเฉพาะไลเซนส์ BSD ดูเหมือนจะเป็นวิธีที่ไม่ค่อยดีนักสำหรับการทำธุรกิจ
  • AWS ฟอร์ก ElasticSearch ไปเป็น DBaaS ชื่อ "OpenSearch" เรื่องนี้เคยทำให้ที่ทำงานเก่าต้องติดอยู่กับ NEST .NET library เวอร์ชันหนึ่งจนใช้ฟีเจอร์ใหม่ไม่ได้ ซึ่งเมื่อมองจากพัฒนาการทางเทคโนโลยีแล้ว ดูเหมือนเป็นการเดินไปผิดทาง

  • การใช้ไลเซนส์ MIT และหารายได้จากการซัพพอร์ตเป็นวิธีแก้ที่ง่ายสำหรับปัญหานี้รวมถึงปัญหาอื่นที่อาจเกิดขึ้น

  • น่าสนใจที่ประมาณ 40% ของ commit ไปยัง Reddit มาจากบริษัทจีน (Tencent 24.8%, Alibaba 6.8%, Huawei 5.2%, Bytedance 2%)

  • ณ ตอนนี้ ไลเซนส์แบบผูกกับลิขสิทธิ์ดูจะได้เปรียบกว่า หากไม่มีหลักประกันว่ารีลีสทั้งหมดในอนาคตจะใช้ไลเซนส์เดิม แล้วไลเซนส์ที่เสรีกว่าและเป็นมิตรกับธุรกิจมากกว่าจะมีคุณค่าอะไร? มันดูเหมือนนโยบายหลอกล่อแล้วสลับเงื่อนไขมากกว่า

  • Redis ดูเหมือนม้าโทรจันสำหรับนักพัฒนา ตอนแรกมันดูเป็นฐานข้อมูลคีย์-แวลง่าย ๆ แต่ก็เอาไปใช้เป็นแคชได้ และการแคชทุกอย่างก็ดูเท่ดี ทว่ามันขัดกับหลักการ Unix แบบดั้งเดิมที่ว่าแต่ละโปรแกรมควรโฟกัสกับสิ่งเดียวที่ตัวเองทำได้ดี ผ่านไป 10 ปี คุณกลับต้องดาวน์โหลดเอกสารไวท์เปเปอร์ระดับองค์กรของ Redis เพื่อจะตัดสินใจเรื่องแคชให้ถูกต้อง

    • มุมมองนี้มาจากประสบการณ์ที่เคยทำงานกับโปรเจ็กต์ซึ่งใช้ Redis ทั้งเป็นฐานข้อมูลและเป็นแคชบนคนละพอร์ต ทีมพัฒนาส่วนใหญ่ไม่อ่านคู่มือเพราะคิดว่า Redis "ง่ายและใช้งานได้ดี" จึงเกิดปัญหาหลายอย่าง แต่ในสตาร์ทอัพที่กำลังดิ้นรนเอาตัวรอด ก็ไม่มีเวลามาจัดการเรื่องเหล่านี้
  • เห็นด้วยกับมุมมองของ Andrew Kelley: ควรเปลี่ยนชื่อโปรเจ็กต์ Redis เป็น Redict และมองโปรเจ็กต์ที่ตอนนี้เรียกว่า "Redis" ว่าเป็น commercial fork แปลก ๆ ของ Redict