SlideShare a Scribd company logo
Collaborations in the Extreme: 

The rise of open code development in the
scientific community
Kelle Cruz
CUNY Hunter College
@kellecruz
I am an observational astronomer
Sun
Brown Dwarfs
Low-Mass Star Brown Dwarfs Jupiter
Image credit: R. Hurt, Caltech/IPAC
I am an observational astronomer
Science is Software
Science is Software
Science is Software
Science is Software
Information
sharing
increases
productivity
Information
sharing
increases
productivity
I care about maximizing efficiency of science
The goal of this blog, AstroBetter, is to provide
information and tips about streamlining all the ways
we use our Macs everyday.
There is now astrolib (https://trac6.assembla.com/astrolib ), also pyAstroLib (which
appears to be something entirely different than astrolib? http://sourceforge.net/projects/
pyastrolib/develop), astropysics (http://packages.python.org/Astropysics/), now
pyAstronomy, and probably more. It looks like PyAstronomy contains wavelength conversions
(already implemented in pyastrolib and astropysics) and coordinate conversions and
precession (already in coords, astropysics, pySLALIB, & more).
I'm going to be provocative here: As a community, we are doing something wrong if everyone
wants to start their own new module rather than contributing to a common, shared, open-
source core. We are clearly doing something wrong if people repeatedly implement the same
basic functions rather than building on what's already there. What do we need to do
differently? How can we make it easier to use a shared repository and shared namespace for
all this?
https://mail.scipy.org/pipermail/astropy/2011-June/thread.html
https://mail.scipy.org/pipermail/astropy/2011-June/thread.html
I think a sit-down is desperately needed to resolve these issues, figure out the
mgmt structure (aka, pecking order), for the BDFL to emerge, and for progress to
occur.
I'd be happy to participate as a non-python/programming expert and maybe provide
the voice of the “users”.
…if there are > 3 ppl on this list already planning on going, then you guys
should definitely get together to have something a bit more formal than just a
chat. You could plan the next meeting, evaluate the existing packages, start to
sketch out a roadmap, maybe even assign some tasks, or create some leadership
roles (e.g., Lead of Phot packages, Lead of Spectra packages, Lead of Xray), etc.
Describing code is hard
To calculate distances and areas on the solar-disc, firstly helioprojective
coordinates are converted to heliographic coordinates using the world coordinate
system available in the standard solar data analysis software… doi: 10.1007/s11207-015-0808-7
Courtesy Danny Ryan
Science should be
reproducible/replicable
same data + same methods =

same results
Modified from https://xkcd.com/242/
https://arxiv.org/abs/1802.03311 - Barba 2018.
Photo credit: Cablelabs.com
Photo credit: Cablelabs.com
LICENSE
Open Source Definition
Software whose source code is made
available under an open source license.
An open source license grants anyone the rights to
inspect, modify and distribute the code

(with some possible caveats).
https://opensource.org/osd
Open Source Misconceptions
Putting code on my webpage makes it open.
True
False
https://choosealicense.com/no-permission/
Open Source Misconceptions
Putting code on my webpage makes it open.
No license = copyright, all rights reserved.
Nobody else can use, copy, distribute, or modify your work
without being at risk of take-downs or litigation. 
True
False
https://choosealicense.com/no-permission/
Open Source Misconceptions
If I make my code open, I must support and maintain it.
True
False
Open Source Misconceptions
If I make my code open, I must support and maintain it.
Making code open means other people can
use and modify it, 

even if you abandon it.
True
False
Open Source Misconceptions
Anyone can participate in the development of open code
True
False
Open Source Misconceptions
Anyone can participate in the development of open code
Code can be distributed with an open
source license but 

developed behind closed doors
True
False
GitHub has made open development feasible
• github is the thing which makes open development possible.
• github can be used to work on closed software.
32nd most popular internet site in the US
https://www.alexa.com/topsites/countries/US
A repository to store, exchange, trade,
and talk about code.
• Version Control: clean, simple-to-track coding history
• Accessible: projects are discoverable and widely accessible
• Transparent: work in progress is visible
• Collaborative: Revisions are debated publicly
• Educational: critical coding knowledge is amassed via all of the above
https://resources.whitesourcesoftware.com/blog-whitesource/the-octocat-that-changed-the-world
GitHub has made open development feasible
GitHub has made open development feasible
GitHub has made open development feasible
GitHub makes collaboration possible
Woo-hoo!
Que
felicidad!
GitHub has made open development feasible
• Python plays well with others

highly interoperable with other languages
• Python is powerful

large ecosystem of 3rd party modules
• Python is easy to learn

low barrier to entry
• Python is open

helps with reproducibility problem
• Python is zero cost 

Nobody likes to pay for things
Scientists are converging on Python
https://www.python.org/about/ 

https://www.datacamp.com/community/blog/python-scientific-computing-case
Wide-adoption of Python increases collaboration
https://octoverse.github.com/
Scientists are converging on Python
Scientific
Python
packages are
getting lots of
use
https://stackoverflow.blog/2017/09/14/python-growing-quickly/
Scientists are converging on Python
Modified from https://xkcd.com/353/
7
§Total downloads via PyPi,
Jan. 2016 — Feb. 2018
*Estimated cost based on $100k average salary per year
**defined as more than 40 commits since Jan. 1, 2017
***defined as more than 100 commits since Jan. 1, 2017
openhub.net
Contributor stats via Libraries.io
Maintainers stats via github.com
6
Current Maintainers
**
Current Maintainers
Downloads
27.7 Million§
Estimated Cost
$7 Million*
Codebase
267,775 lines
Contributors
703
70
person-years
4
latest release: v0.22.0
(development began in 2009)
***
latest release: v1.14.0
(development began in 2001)
76
person-years
Downloads
49 Million§
Estimated Cost
$7.57 Million*
Codebase
285,480 lines
Contributors
564
***
Current Maintainers
Downloads
13.8 Million§
Estimated Cost
$6.36 Million*
Codebase
242,431 lines
Contributors
580
64
person-years
5
latest release: v2.2.0
(development began in 2003)
Vital code
is
maintained
by a small
number of
people
Implications for the future of academic science
• Software development skills will be
considered fundamental & essential.
• Software will be considered a research
product, similar to a journal article.
• Code review will part of peer review process.
• All code will be expected to be open and
accessible.
• Contributing to open, collaborative projects
will be the norm.
Education must change
https://xkcd.com/519/
Conclusions
• Science is software
• GitHub facilitates open development and
has changed the way we interact with
software.
• Python is rapidly becoming the common
language of science.
• NumFOCUS needs to be recognized as a a
vital part of science infrastructure.
• Software development needs to be taught
and integrated into the formal STEM
curriculum.
Collaborations in the Extreme: 

The rise of open code development in the
scientific community
Kelle Cruz
CUNY Hunter College
@kellecruz

More Related Content

Similar to Collaborations in the Extreme: 
The rise of open code development in the scientific community

'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
Nathan Shammah
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
Gérard Dupont
 
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic ScienceScott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
GigaScience, BGI Hong Kong
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
Marcel Caraciolo
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
Asia Smith
 
"A Toolkit for Digital Research" - CNI 2013
"A Toolkit for Digital Research" - CNI 2013"A Toolkit for Digital Research" - CNI 2013
"A Toolkit for Digital Research" - CNI 2013
Kaitlin Thaney
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
DeepikaRana30
 
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
3TU.Datacentrum
 
myExperiment @ Nettab
myExperiment @ NettabmyExperiment @ Nettab
myExperiment @ Nettab
Duncan Hull
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
Carole Goble
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
Merce Crosas
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
David Peyruc
 
Open Source Collaboration in Drug Discovery in Pharma
Open Source Collaboration in Drug Discovery in PharmaOpen Source Collaboration in Drug Discovery in Pharma
Open Source Collaboration in Drug Discovery in Pharma
Kees van Bochove
 
OpenStack: A python based IaaS provider
OpenStack: A python based IaaS providerOpenStack: A python based IaaS provider
OpenStack: A python based IaaS provider
Flavio Percoco Premoli
 
Intro to Python Data Analysis in Wakari
Intro to Python Data Analysis in WakariIntro to Python Data Analysis in Wakari
Intro to Python Data Analysis in Wakari
Karissa Rae McKelvey
 
Astropy Project Update for ADASS
Astropy Project Update for ADASSAstropy Project Update for ADASS
Astropy Project Update for ADASS
Kelle Cruz
 
Crab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation SystemsCrab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation Systems
Marcel Caraciolo
 
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
Bertram Ludäscher
 
Social Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant ForksSocial Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant Forks
University of Antwerp
 
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
OW2
 

Similar to Collaborations in the Extreme: 
The rise of open code development in the scientific community (20)

'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
 
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic ScienceScott Edmunds: Using FAIR principles for more Open & Democratic Science
Scott Edmunds: Using FAIR principles for more Open & Democratic Science
 
Python on Science ? Yes, We can.
Python on Science ?   Yes, We can.Python on Science ?   Yes, We can.
Python on Science ? Yes, We can.
 
A Whirlwind Tour Of Python
A Whirlwind Tour Of PythonA Whirlwind Tour Of Python
A Whirlwind Tour Of Python
 
"A Toolkit for Digital Research" - CNI 2013
"A Toolkit for Digital Research" - CNI 2013"A Toolkit for Digital Research" - CNI 2013
"A Toolkit for Digital Research" - CNI 2013
 
Hacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginnersHacktoberfest 2020 - Open source for beginners
Hacktoberfest 2020 - Open source for beginners
 
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
[3.6] Beyond Data Sharing - Pieter van Gorp [3TU.Datacentrum Symposium 2014, ...
 
myExperiment @ Nettab
myExperiment @ NettabmyExperiment @ Nettab
myExperiment @ Nettab
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Abcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
 
Open Source Collaboration in Drug Discovery in Pharma
Open Source Collaboration in Drug Discovery in PharmaOpen Source Collaboration in Drug Discovery in Pharma
Open Source Collaboration in Drug Discovery in Pharma
 
OpenStack: A python based IaaS provider
OpenStack: A python based IaaS providerOpenStack: A python based IaaS provider
OpenStack: A python based IaaS provider
 
Intro to Python Data Analysis in Wakari
Intro to Python Data Analysis in WakariIntro to Python Data Analysis in Wakari
Intro to Python Data Analysis in Wakari
 
Astropy Project Update for ADASS
Astropy Project Update for ADASSAstropy Project Update for ADASS
Astropy Project Update for ADASS
 
Crab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation SystemsCrab - A Python Framework for Building Recommendation Systems
Crab - A Python Framework for Building Recommendation Systems
 
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
Introducing the Whole Tale Project: Merging Science and Cyberinfrastructure P...
 
Social Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant ForksSocial Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant Forks
 
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
Guidance, Code and Education: ScalaCenter and the Scala Community, Heather Mi...
 

More from Kelle Cruz

The Trials and Tribulations of Software Development in Astronomy: Where are w...
The Trials and Tribulations of Software Development in Astronomy: Where are w...The Trials and Tribulations of Software Development in Astronomy: Where are w...
The Trials and Tribulations of Software Development in Astronomy: Where are w...
Kelle Cruz
 
Lessons from the Astropy Code of Conduct
Lessons from the Astropy Code of ConductLessons from the Astropy Code of Conduct
Lessons from the Astropy Code of Conduct
Kelle Cruz
 
Some perspectives from the Astropy Project
Some perspectives from the Astropy ProjectSome perspectives from the Astropy Project
Some perspectives from the Astropy Project
Kelle Cruz
 
Career Path Strategy and Work-Life Balance
Career Path Strategy and Work-Life BalanceCareer Path Strategy and Work-Life Balance
Career Path Strategy and Work-Life Balance
Kelle Cruz
 
My methodical approach to finding professional success and personal happiness
My methodical approach to finding professional success and personal happinessMy methodical approach to finding professional success and personal happiness
My methodical approach to finding professional success and personal happiness
Kelle Cruz
 
Incorporating Inclusive Practices
Incorporating Inclusive PracticesIncorporating Inclusive Practices
Incorporating Inclusive Practices
Kelle Cruz
 

More from Kelle Cruz (6)

The Trials and Tribulations of Software Development in Astronomy: Where are w...
The Trials and Tribulations of Software Development in Astronomy: Where are w...The Trials and Tribulations of Software Development in Astronomy: Where are w...
The Trials and Tribulations of Software Development in Astronomy: Where are w...
 
Lessons from the Astropy Code of Conduct
Lessons from the Astropy Code of ConductLessons from the Astropy Code of Conduct
Lessons from the Astropy Code of Conduct
 
Some perspectives from the Astropy Project
Some perspectives from the Astropy ProjectSome perspectives from the Astropy Project
Some perspectives from the Astropy Project
 
Career Path Strategy and Work-Life Balance
Career Path Strategy and Work-Life BalanceCareer Path Strategy and Work-Life Balance
Career Path Strategy and Work-Life Balance
 
My methodical approach to finding professional success and personal happiness
My methodical approach to finding professional success and personal happinessMy methodical approach to finding professional success and personal happiness
My methodical approach to finding professional success and personal happiness
 
Incorporating Inclusive Practices
Incorporating Inclusive PracticesIncorporating Inclusive Practices
Incorporating Inclusive Practices
 

Recently uploaded

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 

Recently uploaded (20)

OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 

Collaborations in the Extreme: 
The rise of open code development in the scientific community

  • 1. Collaborations in the Extreme: 
 The rise of open code development in the scientific community Kelle Cruz CUNY Hunter College @kellecruz
  • 2. I am an observational astronomer Sun Brown Dwarfs Low-Mass Star Brown Dwarfs Jupiter Image credit: R. Hurt, Caltech/IPAC
  • 3. I am an observational astronomer
  • 10. I care about maximizing efficiency of science The goal of this blog, AstroBetter, is to provide information and tips about streamlining all the ways we use our Macs everyday.
  • 11. There is now astrolib (https://trac6.assembla.com/astrolib ), also pyAstroLib (which appears to be something entirely different than astrolib? http://sourceforge.net/projects/ pyastrolib/develop), astropysics (http://packages.python.org/Astropysics/), now pyAstronomy, and probably more. It looks like PyAstronomy contains wavelength conversions (already implemented in pyastrolib and astropysics) and coordinate conversions and precession (already in coords, astropysics, pySLALIB, & more). I'm going to be provocative here: As a community, we are doing something wrong if everyone wants to start their own new module rather than contributing to a common, shared, open- source core. We are clearly doing something wrong if people repeatedly implement the same basic functions rather than building on what's already there. What do we need to do differently? How can we make it easier to use a shared repository and shared namespace for all this? https://mail.scipy.org/pipermail/astropy/2011-June/thread.html
  • 12. https://mail.scipy.org/pipermail/astropy/2011-June/thread.html I think a sit-down is desperately needed to resolve these issues, figure out the mgmt structure (aka, pecking order), for the BDFL to emerge, and for progress to occur. I'd be happy to participate as a non-python/programming expert and maybe provide the voice of the “users”. …if there are > 3 ppl on this list already planning on going, then you guys should definitely get together to have something a bit more formal than just a chat. You could plan the next meeting, evaluate the existing packages, start to sketch out a roadmap, maybe even assign some tasks, or create some leadership roles (e.g., Lead of Phot packages, Lead of Spectra packages, Lead of Xray), etc.
  • 13. Describing code is hard To calculate distances and areas on the solar-disc, firstly helioprojective coordinates are converted to heliographic coordinates using the world coordinate system available in the standard solar data analysis software… doi: 10.1007/s11207-015-0808-7 Courtesy Danny Ryan
  • 14. Science should be reproducible/replicable same data + same methods =
 same results Modified from https://xkcd.com/242/ https://arxiv.org/abs/1802.03311 - Barba 2018.
  • 17. Open Source Definition Software whose source code is made available under an open source license. An open source license grants anyone the rights to inspect, modify and distribute the code
 (with some possible caveats). https://opensource.org/osd
  • 18. Open Source Misconceptions Putting code on my webpage makes it open. True False https://choosealicense.com/no-permission/
  • 19. Open Source Misconceptions Putting code on my webpage makes it open. No license = copyright, all rights reserved. Nobody else can use, copy, distribute, or modify your work without being at risk of take-downs or litigation.  True False https://choosealicense.com/no-permission/
  • 20. Open Source Misconceptions If I make my code open, I must support and maintain it. True False
  • 21. Open Source Misconceptions If I make my code open, I must support and maintain it. Making code open means other people can use and modify it, 
 even if you abandon it. True False
  • 22. Open Source Misconceptions Anyone can participate in the development of open code True False
  • 23. Open Source Misconceptions Anyone can participate in the development of open code Code can be distributed with an open source license but 
 developed behind closed doors True False
  • 24. GitHub has made open development feasible • github is the thing which makes open development possible. • github can be used to work on closed software. 32nd most popular internet site in the US https://www.alexa.com/topsites/countries/US A repository to store, exchange, trade, and talk about code.
  • 25. • Version Control: clean, simple-to-track coding history • Accessible: projects are discoverable and widely accessible • Transparent: work in progress is visible • Collaborative: Revisions are debated publicly • Educational: critical coding knowledge is amassed via all of the above https://resources.whitesourcesoftware.com/blog-whitesource/the-octocat-that-changed-the-world GitHub has made open development feasible
  • 26. GitHub has made open development feasible
  • 27. GitHub has made open development feasible
  • 29. Woo-hoo! Que felicidad! GitHub has made open development feasible
  • 30. • Python plays well with others
 highly interoperable with other languages • Python is powerful
 large ecosystem of 3rd party modules • Python is easy to learn
 low barrier to entry • Python is open
 helps with reproducibility problem • Python is zero cost 
 Nobody likes to pay for things Scientists are converging on Python https://www.python.org/about/ 
 https://www.datacamp.com/community/blog/python-scientific-computing-case
  • 31. Wide-adoption of Python increases collaboration https://octoverse.github.com/
  • 33. Scientific Python packages are getting lots of use https://stackoverflow.blog/2017/09/14/python-growing-quickly/
  • 34. Scientists are converging on Python Modified from https://xkcd.com/353/
  • 35. 7 §Total downloads via PyPi, Jan. 2016 — Feb. 2018 *Estimated cost based on $100k average salary per year **defined as more than 40 commits since Jan. 1, 2017 ***defined as more than 100 commits since Jan. 1, 2017 openhub.net Contributor stats via Libraries.io Maintainers stats via github.com 6 Current Maintainers ** Current Maintainers Downloads 27.7 Million§ Estimated Cost $7 Million* Codebase 267,775 lines Contributors 703 70 person-years 4 latest release: v0.22.0 (development began in 2009) *** latest release: v1.14.0 (development began in 2001) 76 person-years Downloads 49 Million§ Estimated Cost $7.57 Million* Codebase 285,480 lines Contributors 564 *** Current Maintainers Downloads 13.8 Million§ Estimated Cost $6.36 Million* Codebase 242,431 lines Contributors 580 64 person-years 5 latest release: v2.2.0 (development began in 2003) Vital code is maintained by a small number of people
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Implications for the future of academic science • Software development skills will be considered fundamental & essential. • Software will be considered a research product, similar to a journal article. • Code review will part of peer review process. • All code will be expected to be open and accessible. • Contributing to open, collaborative projects will be the norm.
  • 42. Conclusions • Science is software • GitHub facilitates open development and has changed the way we interact with software. • Python is rapidly becoming the common language of science. • NumFOCUS needs to be recognized as a a vital part of science infrastructure. • Software development needs to be taught and integrated into the formal STEM curriculum.
  • 43. Collaborations in the Extreme: 
 The rise of open code development in the scientific community Kelle Cruz CUNY Hunter College @kellecruz