ari roponen researching the evolution of gnu emacs text editor

19
Ari Roponen Researching the evolution of GNU Emacs text editor

Upload: jeffry-daniel

Post on 31-Dec-2015

239 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Ari Roponen Researching the evolution of GNU Emacs text editor

Ari Roponen

Researching the evolution of GNU Emacs text editor

Page 2: Ari Roponen Researching the evolution of GNU Emacs text editor

ContentsAbout MyselfMaintainabilitySoftware EvolutionFLOSS (Free/Libre/Open Source Software)GNU EmacsAim of My ResearchCurrent Status

Page 3: Ari Roponen Researching the evolution of GNU Emacs text editor

About MyselfAri Roponen

B.Eng. 2003, Jyväskylä PolytechnicBachelor’s thesis: ”Design and Implementation

of a Route-Information System”M.Sc. 2007, University of Jyväskylä

Master’s thesis: ”Open Source Version Control Systems”

GNU Emacs user since 2001

Page 4: Ari Roponen Researching the evolution of GNU Emacs text editor

MaintainabilityMaintenance means modifying software after

it is publishedFix bugsImprove performanceAdapt to environment changes

Maintainability = how well software can be maintainedUnderstandabilityModularity…

Page 5: Ari Roponen Researching the evolution of GNU Emacs text editor

Software EvolutionSoftware Evolution Laws (M. Lehman)

Continuing ChangeIncreasing ComplexitySelf RegulationConservation of Organizational StabilityConservation of FamiliarityContinuous GrowthDeclining QualityFeedback System

Conclusion: Continuous maintenance is needed to keep software functional in the changing environment

Page 6: Ari Roponen Researching the evolution of GNU Emacs text editor

FLOSS (Free/Libre/Open Source Software)Free Software

Richard Stallman”Free as in freedom”GNU, GPL, GCC, Emacs, ...

Open Source SoftwareEric S. Raymond, Linus Torvalds”OSS is a marketing name for FS”Linux-kernel, Firefox

Is it important to separate FS from OSS?Free/Libre/Open Source Software

Page 7: Ari Roponen Researching the evolution of GNU Emacs text editor

GNU Emacs“Emacs is the extensible, customizable, self-

documenting real-time display editor.”

Richard Stallman wrote the first EMACS in 1976

GNU Emacs in 1984

Page 8: Ari Roponen Researching the evolution of GNU Emacs text editor
Page 9: Ari Roponen Researching the evolution of GNU Emacs text editor

Wow! How do you do that?”First, write a Tetris-clone, then a shell, then

a web browser, then ...”

Start the project, let others use it, integrate their changes, repeat at step 2, ...

There must be some kind of a development process...

... a good one

Page 10: Ari Roponen Researching the evolution of GNU Emacs text editor

Aim of My Research (1/4)Find out how FLOSS projects can get so old

and still be up-to-date

Does FLOSS development differ from other software development?

GNU Emacs is 25 years oldLinux-kernel is 19 years old

Page 11: Ari Roponen Researching the evolution of GNU Emacs text editor

Aim of My Research (2/4)Detect common properties of FLOSS projects’

development models

Goal definitionCode writingDocumentationTestingMaintenanceRelease cycle

Page 12: Ari Roponen Researching the evolution of GNU Emacs text editor

Aim of My Research (3/4)Maybe invent a model for characterising used

development processes

Software changes by patchingTesting by developers/users/pretestersReleasing early/late/”never”Attracting new users/developers

Page 13: Ari Roponen Researching the evolution of GNU Emacs text editor

Aim of My Research (4/4)Find new software evolution laws

Linux-kernel seems to grow faster than expected – why?

Do Lehman’s laws apply to FLOSS projects?

Page 14: Ari Roponen Researching the evolution of GNU Emacs text editor

Current Status (1/4)How to keep software lifetime longPersonal characteristics

Be interested in what you doMake your work useful for othersBe friendly to new usersDon’t neglect old users

Process characteristicsUse suitable (public) development modelAim for good, not bestDesign with extensibility in mind

Page 15: Ari Roponen Researching the evolution of GNU Emacs text editor

Current Status (2/4)Common properties of old FLOSS projectsChanges reviewed by communityExisting coding standardsMany old users (including original authors)Good documentationNo specific goals

Page 16: Ari Roponen Researching the evolution of GNU Emacs text editor

Current Status (3/4)A model for FLOSS developmentSoftware changes by patching

What is a patchHow changes get acceptedProperties of a good patch

Page 17: Ari Roponen Researching the evolution of GNU Emacs text editor

Current Status (4/4)New evolution lawsNone (yet)Existing laws seem to apply quite well

Page 18: Ari Roponen Researching the evolution of GNU Emacs text editor

Questions?

Page 19: Ari Roponen Researching the evolution of GNU Emacs text editor

AnswersGNU Emacs is available at

http://www.gnu.org/software/emacs/emacs.html

YesNo42Well, let me put it this way...

Thank You!