ครบรอบ 25 ปีเว็บเบราว์เซอร์ Dillo
(dillo-browser.github.io)- Dillo เริ่มต้นจาก Gzilla/Armadillo ในปี 1999 และมีอายุครบ 25 ปีในเดือนธันวาคม 2024 ผ่านช่วงที่การพัฒนาหยุดชะงักหลายครั้ง แต่ยังคงได้รับการดูแลมาจนถึงปัจจุบัน
- การพัฒนาช่วงแรกวางอยู่บน GTK 1.0 ก่อนเปลี่ยนเป็น GPL พัฒนาโครงสร้างการสื่อสารแบบใช้สัญญาณ และ Concomitant Control Chain ซึ่งค่อย ๆ สร้างโครงสร้างภายในของเบราว์เซอร์ให้มั่นคงขึ้น
- การย้ายไป FLTK 2 ช่วงกลางทศวรรษ 2000 หยุดชะงักเพราะความล่าช้าและขาดเงินทุน แต่หลังจากเปิดเผยพอร์ตในปี 2007 แพตช์ก็เพิ่มขึ้น และนำไปสู่การปล่อย Dillo 2.0.0 ในปี 2008
- เมื่อ FLTK2 หยุดนิ่งโดยไม่มีรุ่นทางการ Dillo จึงย้ายไป FLTK 1.3 และออก 3.0.0 ในปี 2011 หลังจาก Sebastian Geerken เสียชีวิตในปี 2016 และอีเมลสุดท้ายของ Jorge ในปี 2019 การพัฒนาก็ซบเซาลงอย่างรวดเร็ว
- ในปี 2022 การสูญเสีย dillo.org ทำให้เว็บไซต์ ที่เก็บโค้ด และเมลลิงลิสต์หายไป แต่ในปี 2024 โครงการกลับมามีชีวิตอีกครั้งด้วยการกู้คืนบน GitHub และการปล่อย Dillo 3.1.0
25 ปีนับจากจุดเริ่มต้นใน Gzilla/Armadillo
- Dillo เริ่มขึ้นในปี 1999 เมื่อกลุ่มนักพัฒนาที่นำโดย Jorge Arellano Cid fork โค้ด Gzilla/Armadillo ของ Raph Levien
- ณ เดือนธันวาคม 2024 โครงการมีอายุครบ 25 ปี และแม้การพัฒนาจะหยุดไปหลายครั้ง แต่ตัวโครงการยังคงดำเนินต่อมาจนถึงปัจจุบัน
- Jorge นำโครงการตั้งแต่ปี 1999 ถึง 2019 และหลังจากนั้นก็ไม่มีข่าวคราว
- ผู้ดูแลปัจจุบันไม่ได้มีความสัมพันธ์โดยตรงกับนักพัฒนากลุ่มเดิม แต่กำลังฟื้นโครงการในทิศทางที่รักษาเป้าหมายเดิมไว้
- ประวัติของโครงการอาศัยข้อมูลที่รวบรวมจาก เมลลิงลิสต์, ChangeLog และ ประวัติ Git
การออกแบบช่วงแรกบน GTK 1.0
- ตอนที่ fork มา Dillo ใช้ GTK 1.0 เป็นไลบรารี UI และรุ่นแรกออกมาในเดือนธันวาคม 1999 ตาม ChangeLog
- Jorge กำหนด แนวทางการเขียนโค้ด เช่น การใส่คำนำหน้า
a_ให้ชื่อฟังก์ชันสาธารณะ และการเยื้อง 3 ช่อง เพื่อทำให้โค้ดเบสเป็นไปในแนวเดียวกัน - ในเดือนมีนาคม 2000 ได้เปลี่ยนไลเซนส์เป็น GPL หลังได้รับอนุญาตจาก Raph Levien นักพัฒนาหลักของ Gzilla/Armadillo
- งานเขียนใหม่ครั้งใหญ่เพื่อรองรับกระแสการสื่อสารหลายทางนำไปสู่บทความของ Jorge Arellano-Cid และ H.H. Von Brand เรื่อง Network programming internals of the Dillo Web browser
- แนวทางนี้ต่อมาพัฒนาเป็น Concomitant Control Chain ซึ่ง Dillo ใช้ติดตามการเชื่อมต่อหลายรายการและโมดูลภายใน
เอนจินเรนเดอร์และการขยายความสามารถ
- Sebastian Geerken เริ่มส่งแพตช์เล็ก ๆ ราวเดือนมิถุนายน 2000 ก่อนย้ายไปทำงานกับเอนจินเรนเดอร์ และต่อมากลายเป็นผู้ออกแบบหลักของส่วนนี้
- เอนจินเรนเดอร์เป็นคอมโพเนนต์หลักที่อ่าน tree ขององค์ประกอบ และจัดวาง ขนาดและตำแหน่ง ขององค์ประกอบต่าง ๆ เช่น คำในย่อหน้าและรูปภาพบนหน้าจอ
- ในช่วงหลายปีต่อมา การรองรับ HTML และ CSS เพิ่มขึ้น โดยเฉพาะฟีเจอร์เกี่ยวกับ ตาราง และองค์ประกอบข้อความ
- แม้ GTK2 จะออกมาแล้ว ทีมยังระมัดระวังในการย้าย Dillo ไปใช้ GTK รุ่นใหม่ เพราะกังวลเรื่องความซับซ้อนและขนาด
- ในเดือนตุลาคม 2003 Jorge สอบถาม Michael Sweet ผู้ดูแล FLTK ว่าการย้าย Dillo ไป FLTK เป็นไปได้หรือไม่ และเห็นว่า FLTK เหมาะกับเป้าหมายด้านความเร็วและเสถียรภาพมากกว่า
การย้ายไป FLTK 2 และการแยก toolkit
- ทีมมองว่า GTK 2.0 ใหญ่และช้ากว่า จึงตัดสินใจมุ่งไปที่ FLTK 2
- ขณะนั้น FLTK 2 ยังไม่ได้ออก release แต่มีแผนว่าจะออกในไม่ช้า
- ในเดือนสิงหาคม 2004 Sebastian เสนอ การออกแบบเพื่อทำให้ Dillo เป็นอิสระจาก widget toolkit
- เป้าหมายคือหลีกเลี่ยงสถานการณ์ที่ Dw ผูกกับ Gtk+ อย่างแน่นหนา จนเวอร์ชัน GTK และ FLTK แตกแขนงออกไปโดยมีฟีเจอร์ต่างกัน
- การออกแบบใหม่แบบเดียวกันยังอาจทำให้มีฟีเจอร์อย่างหน้าต่างพรีวิวทั้งหน้าแบบย่อ และการนำ Dw ไปใช้ซ้ำในกราฟิกปลั๊กอินได้ด้วย
- ในช่วงเดียวกัน กลไกปลั๊กอินบน DPI protocol ก็ได้รับการปรับปรุง และบางฟีเจอร์อย่างดาวน์โหลด บุ๊กมาร์ก FTP และ HTTPS ถูกย้ายไปเป็นโปรแกรมภายนอกที่สื่อสารกับเบราว์เซอร์
- Dillo 0.8.3 ที่ปล่อยในเดือนตุลาคม 2004 มี การรองรับ HTTPS อยู่แล้ว
พอร์ต FLTK 2 ที่ล่าช้าและ Dillo 2.0.0
- พอร์ต FLTK2 มีเป้าหมายเพื่อทำให้เบราว์เซอร์เล็กลงและมีฟีเจอร์อย่าง anti-aliasing โดยในเดือนเมษายน 2005 Jorge แชร์ ว่างานพอร์ตเดินหน้าอย่างรวดเร็ว
- แต่ซอร์สโค้ดของพอร์ต FLTK2 ใหม่ไม่ได้ถูกนำขึ้น CVS สาธารณะอยู่ระยะหนึ่ง และ Jorge มุ่งไปที่การ หาเงินทุน เพื่อครอบคลุมค่าใช้จ่ายในการพัฒนาโครงการ
- ในเดือนมีนาคม 2006 Jorge แจ้ง ว่าการระดมทุนไม่ประสบความสำเร็จ และโครงการก็เสี่ยงหยุดชะงัก
- ตั้งแต่กลางปี 2006 จนถึงปี 2008 ไม่มี release ของ Dillo และพอร์ต FLTK2 ยังคงปิดอยู่
- วันที่ 30 กันยายน 2007 Jorge ประกาศ ว่าพอร์ต FLTK2 พร้อมใช้งานแล้ว
- โค้ดเบสหลักบางส่วนถูกย้ายไปเป็น C++
- เอนจินเรนเดอร์เปลี่ยนมาใช้ไลบรารี FLTK2 แทน GTK1
- สนับสนุนให้นักพัฒนาเข้าร่วมและมีส่วนร่วม
- หลังเปิดเผยพอร์ต แพตช์จากนักพัฒนาคนอื่น ๆ ถูกรวมเข้าอย่างรวดเร็ว และโครงการกลับมาคึกคักอีกครั้ง
- ในเดือนกันยายน 2008 มีการ ประกาศ รองรับแท็บ และในเดือนตุลาคม 2008 Dillo 2.0.0 ก็ถูกปล่อยออกมา
การย้ายไป FLTK 1.3 และความซบเซาที่กลับมาอีกครั้ง
- ในปี 2011 2.2.1 ซึ่งเป็น release สุดท้ายของสาย 2.X ออกมา และตั้งแต่ช่วงนี้เป็นต้นไปก็ไม่พบแพตช์หรือกิจกรรมในเมลลิงลิสต์ของ Sebastian อีก
- เมื่อการพัฒนา FLTK2 เองหยุดนิ่งและไม่มี release ทางการ Dillo จึงเจอปัญหาต้องลิงก์กับแพ็กเกจ FLTK ที่ไม่มีให้ใช้ในดิสทริบิวชัน
- ทีมตัดสินใจว่าเมื่อ FLTK 1.3 ออกแล้ว จะย้าย Dillo ไปทางนั้นและขยับเป็น ซีรีส์ 3.X
- หลัง FLTK 1.3 ออกในเดือนมิถุนายน 2011 งานพอร์ต Dillo ไป FLTK 1.3 ก็เดินหน้า และไม่กี่เดือนต่อมา Dillo 3.0.0 ซึ่งเป็น release แรกบน FLTK 1.3 ก็ออกมา
- ในเดือนกรกฎาคม 2012 Sebastian เปิดเผย อัลกอริทึมการตัดคำด้วยยัติภังค์ ใหม่ที่ใช้กลไกแบบเดียวกับ TeX และ implementation นี้ถูกใส่ใน Dillo 3.0.3 เมื่อเดือนเมษายน 2013
- มี release หลายรุ่นต่อเนื่องจนถึง Dillo 3.0.5 ในเดือนมิถุนายน 2015
การเสียชีวิตของ Sebastian และการสูญเสีย dillo.org
- ขณะนั้น Sebastian กำลังทำงานกับ GROWS redesign ซึ่งเปลี่ยนวิธีคำนวณขนาดของวิดเจ็ตองค์ประกอบบนหน้าเว็บ
- เมื่อ Sebastian เสียชีวิต ในเดือนตุลาคม 2016 งานจำนวนมากจึงไม่ได้ถูกรวมไว้ใน release ใหม่
- หลังจากนั้นการพัฒนาก็หยุดชะงักอย่างรวดเร็ว และในปี 2019 Jorge ส่งอีเมลสุดท้าย แนะนำให้ใช้เวอร์ชันปัจจุบันใน repository แทนที่จะรอ release 3.1
- ในปี 2022 การ สูญเสีย โดเมน DNS ของ dillo.org ทำให้เว็บไซต์ ที่เก็บ Mercurial เมลลิงลิสต์ และเซิร์ฟเวอร์อีเมลหายไป
- หลังจากนั้นไม่เห็นกิจกรรมของนักพัฒนาอีก โครงการจึงถูกปล่อยทิ้งไว้ ส่วนเว็บไซต์ dillo.org ดูเหมือนสำเนาของเว็บไซต์เดิม แต่เต็มไปด้วยสแปมจากบล็อก Wordpress
การคืนชีพบน GitHub ในปี 2024
- ตั้งแต่เดือนธันวาคม 2023 ผู้ดูแลปัจจุบันเริ่มใส่แพตช์เพื่อให้ Dillo build ได้อีกครั้ง และแก้บั๊กง่าย ๆ
- เมื่อเห็นว่า Atari forum พอร์ต Dillo ไปยัง Atari โดยอาศัย repository นั้น จึงมองเห็นความเป็นไปได้ในการฟื้นโครงการ และเมื่อนำไปแชร์บน Hacker News ก็ได้รับความสนใจมากกว่าที่คาด
- หลังจากนั้นจึงสร้าง GitHub organization รวบรวม Git repository และตั้งค่าเว็บไซต์ Dillo ใหม่ด้วย GitHub Pages
- ยังมีการคัดลอกข้อมูลเท่าที่หาได้ไปยังเว็บไซต์ใหม่และเมลลิงลิสต์ใหม่ด้วย
- หลังแก้หลาย issue แล้ว ในเดือนพฤษภาคม 2024 ได้ปล่อย Dillo 3.1.0
- release นี้ได้รับความสนใจจากหลายเว็บไซต์ เช่น The Register, 9to5Linux และ Hackaday
- หลังจากนั้นถูกบรรจุใน Linux distribution หลายรายการ
- ณ วันที่ 15 ธันวาคม 2024 โครงการยังคงได้รับการดูแลต่อเนื่อง และเริ่มมีผู้ร่วมพัฒนารายใหม่เข้ามามีส่วนร่วมในแพตช์และการอภิปรายด้านการพัฒนา
- แม้ยังไม่มีนักพัฒนามากพอที่จะจัดการทุก issue ได้ แต่โครงการก็กำลังก้าวหน้าอย่างช้า ๆ
- release ล่าสุดในปัจจุบันคือ Dillo 3.1.1
ยังไม่มีความคิดเห็น