Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Sustainability and Bit-rot          Kiran Jonnalagadda, HasGeek    JStor Workshop, Bangalore, December 2010
Building WebsitesWrite a specDefine a budgetRaise moneyHire a teamBuild!
Maintaining Websites
Maintenance Problems1. Team has changed    Original developers not available    New developers don’t understand the code  ...
What is bit-rot?Software rot, also known as code rot or softwareerosion or software decay or software entropy, is atype of...
Old: Working on the metalNew: Software ecosystem
Beware of Forks:You are alone on the path
“Functionality is an asset, butcode is a liability. I will say thisuntil you like it.” —Ted Dziuba
Pattern: Custom ForkYou want a website            Your custom feature is a                              popular request, s...
What you should doNever implement a custom     Make it open source andfeature for yourself; the    encourage adoption byma...
It’s not just you Software developers reinvent the wheel all the time, only to regret it later; the itch to reinvent never...
Software UpgradesAll major software systems evolve coping mechanismsWindows DLL hell in the 3.x and Windows 95 eraUbuntu 6...
File FormatsPDF and HTML are stable;files from 10 years ago stillopenPDF is not re-flowable;suitable only for archivingpaper...
Raw HTML is tedious<h3>  What is HTML5?</h3><p>  The term HTML5 has come to represent not just the new  version of hyperte...
Plain text markup                                               Markdown### What is HTML5The term HTML5 has come to repres...
Plain text markup                                               MediaWiki=== What is HTML5 ===The term HTML5 has come to r...
Plain text markupBBCode             Each of these converts                   easily readable plain textMarkdown           ...
Published text: ePubReflowable content; no fixedpaper sizeSingle archive file containseverythingThe most promising archivefor...
Image creditsHaulin’ rust, macro rust on a micro bus, thumbs up, thumbsdown, fork in the road
Upcoming SlideShare
Loading in …5
×

Sustainability and bit-rot

1,189 views

Published on

Presentation at the JStor Workshop in Bangalore, December 10, 2010, on sustainability and bit-rot in file formats and software for websites.

Published in: Technology
  • Be the first to comment

Sustainability and bit-rot

  1. 1. Sustainability and Bit-rot Kiran Jonnalagadda, HasGeek JStor Workshop, Bangalore, December 2010
  2. 2. Building WebsitesWrite a specDefine a budgetRaise moneyHire a teamBuild!
  3. 3. Maintaining Websites
  4. 4. Maintenance Problems1. Team has changed Original developers not available New developers don’t understand the code Rewriting easier than documenting and fixing old code2. Software has to be upgraded Software is not compatible; bit-rot has set in
  5. 5. What is bit-rot?Software rot, also known as code rot or softwareerosion or software decay or software entropy, is atype of bit rot. It describes the perceived slowdeterioration of software over time that willeventually lead to it becoming faulty, unusable, orotherwise in need of maintenance. This is not aphysical phenomenon: the software does notactually decay, but rather suffers from a lack ofbeing updated with respect to the changingenvironment in which it resides. —Wikipedia
  6. 6. Old: Working on the metalNew: Software ecosystem
  7. 7. Beware of Forks:You are alone on the path
  8. 8. “Functionality is an asset, butcode is a liability. I will say thisuntil you like it.” —Ted Dziuba
  9. 9. Pattern: Custom ForkYou want a website Your custom feature is a popular request, so theYou found a CMS that has CMS also adds it andmost of the wanted features releases an updateDeveloper says he can add Your custom versionthe additional features you implemented it differently,want, so you commission it so you can’t upgrade: youDeveloper hands you code will lose data if you doand moves on
  10. 10. What you should doNever implement a custom Make it open source andfeature for yourself; the encourage adoption bymaintenance is also yours others; open source is useless without adoptionWhen you get somesoftware written, give the Open source is adeveloper an incentive to mechanism for distributingmaintain it without you the cost of maintenance to ahaving to pay for it large number of othersLet the developer own it This is hard
  11. 11. It’s not just you Software developers reinvent the wheel all the time, only to regret it later; the itch to reinvent never goes away “The shock of recognition came to me when I was sitting on the bus and reading the RFC for NFS, intending to write an NFS server on top of the ZODB so we could use grep and CVS. Suddenly I sat up and thought ‘I have an object database on top of a filesystem, and now I want to emulate a filesystem on top of it. What am I doing? Why not just use a filesystem in the first place?’” —A. M. Kuchling, April 2001
  12. 12. Software UpgradesAll major software systems evolve coping mechanismsWindows DLL hell in the 3.x and Windows 95 eraUbuntu 6-month upgradesPreferences for any software applicationWeb app customization: themes, plugins, standard config
  13. 13. File FormatsPDF and HTML are stable;files from 10 years ago stillopenPDF is not re-flowable;suitable only for archivingpaper layoutsArchivability is still aconcern
  14. 14. Raw HTML is tedious<h3> What is HTML5?</h3><p> The term HTML5 has come to represent not just the new version of hypertext markup language, but a suite of related technologies and proposed standards. These include:</p><ul> <li>CSS3, Geo-location, Web Sockets, Canvas, Client Storage, Audio and Video.</li> <li>Rich Internet Apps enabled by Advanced JavaScript Engines and Mobile Browsers.</li></ul>
  15. 15. Plain text markup Markdown### What is HTML5The term HTML5 has come to represent not just the newversion of hypertext markup language, but a suite ofrelated technologies and proposed standards. Theseinclude:* CSS3, Geo-location, Web Sockets, Canvas, ClientStorage, Audio and Video.* Rich Internet Apps enabled by Advanced JavaScriptEngines and Mobilewsers.
  16. 16. Plain text markup MediaWiki=== What is HTML5 ===The term HTML5 has come to represent not just the newversion of hypertext markup language, but a suite ofrelated technologies and proposed standards. Theseinclude:* CSS3, Geo-location, Web Sockets, Canvas, ClientStorage, Audio and Video.* Rich Internet Apps enabled by Advanced JavaScriptEngines and Mobilewsers.
  17. 17. Plain text markupBBCode Each of these converts easily readable plain textMarkdown into HTMLMediaWiki The original plain textTextile should be archivable, but each convertor is alsoWikiCreole subject to bit-rotReStructuredText There’s safety in numbers;And many more... how many use them?
  18. 18. Published text: ePubReflowable content; no fixedpaper sizeSingle archive file containseverythingThe most promising archiveformatTwo incompatible sub-formats:XHTML and DTBook
  19. 19. Image creditsHaulin’ rust, macro rust on a micro bus, thumbs up, thumbsdown, fork in the road

×