Successfully reported this slideshow.
Your SlideShare is downloading. ×

"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 68 Ad

"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG

Download to read offline

What source control software did you use in 2010? Possibly Git, if you were an early adopter or a Linux kernel committer. But chances are you were using Subversion, as this was the product of choice for the majority of the software developers. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now?

In this talk we will think about what features we want from our source control software in 2030. More speed? Better collaboration support? No merge conflicts ever?

I’ll also discuss a few products that have been published after Git emerged, including Plastic, Fossil and Pijul. I’ll talk about the extent to which they contain the features we so dearly desire and I’ll demonstrate a few typical use cases. To conclude, I’ll try to predict which one will be ‘the top dog’ in 2030 (all information is provided “as is”, no guarantees etc. etc.).

So attend this session if you’re excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 

What source control software did you use in 2010? Possibly Git, if you were an early adopter or a Linux kernel committer. But chances are you were using Subversion, as this was the product of choice for the majority of the software developers. Ten years later, Git is the most popular product. Which makes me wonder: what will we use another ten years from now?

In this talk we will think about what features we want from our source control software in 2030. More speed? Better collaboration support? No merge conflicts ever?

I’ll also discuss a few products that have been published after Git emerged, including Plastic, Fossil and Pijul. I’ll talk about the extent to which they contain the features we so dearly desire and I’ll demonstrate a few typical use cases. To conclude, I’ll try to predict which one will be ‘the top dog’ in 2030 (all information is provided “as is”, no guarantees etc. etc.).

So attend this session if you’re excited about the future of version control and if you want to have a shot at beating even (!) the early adopters. Now if it turns out I was right, remember that you heard it here first. 

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to "Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG (20)

Advertisement

More from 🎤 Hanno Embregts 🎸 (18)

Recently uploaded (20)

Advertisement

"Will Git Be Around Forever? A List of Possible Successors" at UtrechtJUG

  1. 1. Will Git Be Around Will Git Be Around Forever? Forever? Forever? Forever? Forever? Forever? Forever? Forever? Forever? Forever? Forever? Forever? A List Of Possible Successors A List Of Possible Successors Hanno Embregts @hannotify
  2. 2. Version Control 'By Version Control 'By USB Stick' USB Stick' https://pxhere.com/en/photo/652221
  3. 3. Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a Teaching a course on Git course on Git course on Git course on Git course on Git course on Git course on Git course on Git course on Git course on Git course on Git course on Git https://pxhere.com/en/photo/652221
  4. 4. http://blog.plasticscm.com/2010/11/version-control-timeline.html
  5. 5. http://web.archive.org/web/20050408062838/http://www.bitkeeper.com/press/2005-04-05.html
  6. 6. http://blog.plasticscm.com/2010/11/version-control-timeline.html
  7. 7. "640K ought to be enough for anybody for now..." https://upload.wikimedia.org/wikipedia/commons/thumb/3/31/Bill_Gates_2004.jpg/1280px-Bill_Gates_2004.jpg
  8. 8. Photo credit: Ryan McGuire
  9. 9. Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git Why did Git become so become so become so become so become so become so become so become so become so become so become so become so popular? popular? popular? popular? popular? popular? popular? popular? popular? popular? popular? popular? https://pxhere.com/en/photo/652221
  10. 10. Main features of Git Main features of Git Distributed Free & open-source Fast Optimized for branching
  11. 11. Some surprising facts Some surprising facts on Git on Git "I'm an egotistical bastard, so I name all my projects after myself. First Linux, now git." https://www.infoworld.com/article/2669670/after-controversy--torvalds-begins-work-on--git-.html
  12. 12. WWCVSND? WWCVSND? If in doubt, make the exact opposite decision. https://pxhere.com/en/photo/704019
  13. 13. Killer features. Killer features. prediction variable #1 https://www.pexels.com/photo/photo-displays-person-holding-ball-with-reflection-of-horizon-940880
  14. 14. https://blog.gitprime.com/git-didnt-beat-svn-github-did
  15. 15. Hosting platform Hosting platform support. support. prediction variable #2 https://www.pexels.com/photo/photo-displays-person-holding-ball-with-reflection-of-horizon-940880
  16. 16. Open-source Open-source community support. community support. prediction variable #3 https://www.pexels.com/photo/photo-displays-person-holding-ball-with-reflection-of-horizon-940880
  17. 17. https://bingeprints.com/products/there-are-two-types-of-people-those-who-can-extrapolate-from-incomplete-data-mug-funny-statistics-math-coffee-cup-1
  18. 18. https://blog.gitprime.com/git-didnt-beat-svn-github-did
  19. 19. First Prediction First Prediction 2010 Subversion 43% Git 19% Mercurial 16% TFVC 6% CVS 5%
  20. 20. https://blog.gitprime.com/git-didnt-beat-svn-github-did
  21. 21. First Prediction First Prediction 2010 2020 Subversion 43% 8% Git 19% 73% Mercurial 16% 12% TFVC 6% 7% CVS 5% <1%
  22. 22. https://blog.gitprime.com/git-didnt-beat-svn-github-did
  23. 23. First Prediction First Prediction 2010 2020 2030 Subversion 43% 8% 4% Git 19% 73% 80% Mercurial 16% 12% 9% TFVC 6% 7% 7% CVS 5% <1% <1%
  24. 24. One problem though. One problem though. We haven't included any new products! https://www.pexels.com/photo/man-in-black-shirt-and-gray-denim-pants-sitting-on-gray-padded-bench-1134204
  25. 25. The Browser The Browser The Browser The Browser The Browser The Browser The Browser The Browser The Browser The Browser The Browser The Browser Wars Wars Wars Wars Wars Wars Wars Wars Wars Wars Wars Wars https://pxhere.com/en/photo/652221
  26. 26. In ten years time... In ten years time... 1. ...Internet Explorer would be surpassed as the top browser family; 2. ...Mozilla Firefox would surpass Internet Explorer; 3. ...Mozilla Firefox would be the top browser.
  27. 27. In ten years time... In ten years time... 1. ...Internet Explorer would be surpassed as the top browser family; 2. ...Mozilla Firefox would surpass Internet Explorer; 3. ...Mozilla Firefox would be the top browser.
  28. 28. https://www.bbntimes.com/en/global-economy/market-shares-for-browsers-and-platforms
  29. 29. https://tenor.com/view/youright-right-point-gif-9467383
  30. 30. The handicap of a head The handicap of a head start start Jan Romein, "The dialectics of progress", 1937 Jan Romein, "The dialectics of progress", 1937 You will get a lot of attention. https://www.pexels.com/photo/battle-black-blur-board-game-260024
  31. 31. The handicap of a head The handicap of a head start start prediction variable #4 https://www.pexels.com/photo/photo-displays-person-holding-ball-with-reflection-of-horizon-940880
  32. 32. Three Three Three Three Three Three Three Three Three Three Three Three New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids New(er) Kids On The Block On The Block On The Block On The Block On The Block On The Block On The Block On The Block On The Block On The Block On The Block On The Block https://pxhere.com/en/photo/652221
  33. 33. Three new(er) kids on Three new(er) kids on the block the block Plastic (2006) Fossil (2006) Pijul (2015)
  34. 34. Plastic Plastic Plastic Plastic Plastic Plastic Plastic Plastic Plastic Plastic Plastic Plastic Fast branching Merge previews Both central and distributed Comes with a lot of GUI stuff https://www.plasticscm.com
  35. 35. Focus on artists and Focus on artists and designers designers 'Plastic Gluon' is a version control component meant for artists and designers Image diffing References on their website are exclusively from game studios
  36. 36. https://www.plasticscm.com/images/gallery/large/image-02-diff-swipe.png
  37. 37. But But Plastic is not going to be 'the Git killer' Plastic is not going to be 'the Git killer' it's not open-source software Git users are not changing their VCS just for some eye candy
  38. 38. Fossil Fossil Fossil Fossil Fossil Fossil Fossil Fossil Fossil Fossil Fossil Fossil https://pxhere.com/en/photo/652221
  39. 39. Features that Fossil Features that Fossil promises promises distributed version control integrated bug tracking, wiki, forum and technotes built-in web interface both autosync and manual merge mode show descendants of a check-in supports operations on multiple repositories (fossil all) has a 'preserve all history' philosophy https://www.fossil-scm.org
  40. 40. Quick facts Quick facts Written in C and SQL Is the VCS of choice for the SQLite project 'Github in a box' Free code hosting at: Chisel - http://chiselapp.com/ Or simply host it yourself using an SQLite database and a web server
  41. 41. Uses a relational Uses a relational database database a repository is stored in a single SQLite database file contains relations between check-ins to be able to produce both ancestors and descendants of a check-in
  42. 42. 'Github in a box' 'Github in a box' repository UI (fossil ui) wiki, ticketing & bug tracking embedded documentation technical notes forum
  43. 43. Quick demo Quick demo Up and running Using the web interface (fossil ui) Retrieving descendants of a checkin
  44. 44. The Bad The Bad Dealing with large files Dealing with large commits https://www.omiyagames.com/blog/2014/02/15/farew https://www.omiyagames.com/blog/2014/02/15/farew fossil-version-control fossil-version-control
  45. 45. Git vs. Fossil Git vs. Fossil Git Fossil Sample project Linux kernel SQLite Engagement Global Personal Workflow Hierarchy Trust Contributors 5,000+ 4 https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki
  46. 46. Pijul Pijul Pijul Pijul Pijul Pijul Pijul Pijul Pijul Pijul Pijul Pijul https://pxhere.com/en/photo/652221
  47. 47. pi · jul pi · jul pi · jul pi · jul pi · jul or crotophaga sulcirostris, a bird known to do collaborative nest building. https://commons.wikimedia.org/wiki/File:Museo_de_la_Naturaleza_de_Cantabria_(208).jpg
  48. 48. Features that Pijul Features that Pijul promises promises distributed version control simple, because of its basis on a sound theory of patches fast, because it aims to fix the Darcs performance issues interactive recording https://www.pijul.com https://www.pijul.com
  49. 49. Quick facts Quick facts written in Rust bootstrapped since April 2017 free code hosting at https://nest.pijul.com
  50. 50. Patch-oriented design Patch-oriented design A patch is an intuitive atomic unit of work. It focuses on changes, instead of differences between snapshots (i.e. Git commits). Applying or unapplying a patch doesn't change its identity. The end result of applying several patches is always the same, regardless of the order in which they were applied. Pijul keeps track of 'dependent patches' No merges or rebases; applying a patch is like git cherry-pick.
  51. 51. https://www.katacoda.com/ysndr/scenarios/pijul/assets/comparison.png
  52. 52. Quick demo Quick demo Up and running Recording patches Nest demo - https://nest.pijul.com/pijul_org/pijul
  53. 53. The Bad The Bad Usability needs some work Complete rewrite in progress for v1.0 https://mivehind.net/2017/04/09/pijul-first-thoughts https://pijul.org/posts/2020-11-07-towards-1.0
  54. 54. Pijul towards v1.0 Pijul towards v1.0 New change format; 'patches' are now called 'changes' 'Branches' are now called 'channels' Better support for large files and repositories by compressing changes Interactive recording is replaced by a 'change draft screen' Version identifiers that don't depend on any order Inclusive author names Documentation is lagging a bit
  55. 55. https://www.reuters.com/article/us-france-ovh-fire-idUSKBN2B20NU
  56. 56. Predictions Predictions Predictions Predictions Predictions Predictions Predictions Predictions Predictions Predictions Predictions Predictions https://pxhere.com/en/photo/652221
  57. 57. Prediction variables Prediction variables Killer features. Hosting platform support. Open-source community support. The handicap of a head start.
  58. 58. Git Hg TFVC Fossil Pijul Features - - - + ++ Hosting ++ + - 0 0 Open-source ++ ++ -- - + Dominant -- - 0 0 0 +1 +1 -4 0 +3
  59. 59. 2030 Git 80% Mercurial 9% TFVC 7% Subversion 4% CVS <1%
  60. 60. 2030 2030 Git 80% 77% Mercurial 9% 8% Pijul 5% TFVC 7% 4% Subversion 4% 4% Fossil 2% CVS <1% <1%
  61. 61. Further Further Further Further Further reading reading reading reading reading https://www.pexels.com/photo/white-teddy-bear-reading-book-33196/
  62. 62. Further reading Further reading "Beyond Git" (by Paweł Świątkowski) http://katafrakt.me/2017/05/27/beyond-git/ "Fossil vs. Git" (by the Fossil team) https://www.fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki "Merging, patches and Pijul" (by Joe Neeman) https://jneem.github.io/pijul/ Try out Pijul @ katacoda.com https://www.katacoda.com/ysndr/scenarios/pijul
  63. 63. Now what? Now what? A lot of projects are nothing like the Linux kernel. So try Fossil for a change! Git's snapshotting might be too technical for the average Git user. So try Pijul for a change!
  64. 64. Any Any Any Any Any questions? questions? questions? questions? questions? https://www.pexels.com/photo/monopoly-car-piece-1634213/
  65. 65. #UtrechtJUG #SuccessorOfGit @hannotify Thank you! ☺️ Thank you! ☺️ bit.do/utrechtjug-successor-of-git hanno.codes @hannotify hanno.embregts@infosupport.com

×