Your SlideShare is downloading. ×
0
CPSeis – an Open-Source                 Case History                   Bill Menger                   June 16, 2011Date, lo...
Outline•   Get Permission•   Understand ROI•   What is your End Game?•   Pick a Target Platform•   Issues    –   Compiler ...
PERMISSION• Research licenses for open source, make sure they are  business-friendly. http://opensource.org MIT license• I...
Return On Investment• MANAGEMENT must see value in open-source• ROI takes on many forms for a company  – WILL THEY STILL U...
END GAME• What do you hope to accomplish?• For CPSeis, my goal was:   – Provide a system for undergraduate and graduate st...
Target Platform        This is difficult for a complete system•   Match up a good MPI•   A good Queuing system•   A good c...
Target PlatformDependencies           O/S• FFTW 2.1.5           • Centos 4.8 x86_64 OR• MPICH2               • Centos 4.8 ...
Issues•   Getting “market share”•   Compiler Changes•   Fixing legacy code•   Packaging•   Helping users
Decisionmaker Thinking(obtaining market share)
Compiler Changes                     and Legacy Code• “Hard” compilers (F9x, C++)   – GNU C++ is more strict than it used ...
Fixing Legacy Code•   Fortran usually not a problem (F90 F95, that is)•   F77 code is full of old errors, hard to find•   ...
Packaging• Put the code together in some kind of structure that will  allow for changes   – Because you WILL be putting in...
Helping Users• If you don’t have time to do the above steps…• Then you’ll spend more time here.• Do what you can• Enlist o...
Screen Shots - cfe
Screen Shots - cbyt
GeoCraft•   Pure Java•   Many Platforms•   Interpretation•   AVO analysis•   Model Building•   Viewing    –   LAS    –   3...
GeoCraft – SEG Salt Model
GeoCraft – SEG Salt Model
REFERENCES•   http://cpseis.org•   http://sourceforge.net/projects/cpseis•   http://geocraft.org•   http://code.google.com...
ACKNOWLEDGEMENTS• ConocoPhillips – For allowing the code to be open-  sourced• Weinman Geoscience – For allowing me to tak...
CPSeis & GeoCraft
Upcoming SlideShare
Loading in...5
×

CPSeis & GeoCraft

684

Published on

How to open-source your software from within a large corporation

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
684
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "CPSeis & GeoCraft"

  1. 1. CPSeis – an Open-Source Case History Bill Menger June 16, 2011Date, location
  2. 2. Outline• Get Permission• Understand ROI• What is your End Game?• Pick a Target Platform• Issues – Compiler changes – Fixing legacy code – Packaging – Helping users• Another project introduction -- GeoCraft
  3. 3. PERMISSION• Research licenses for open source, make sure they are business-friendly. http://opensource.org MIT license• I picked MIT because it is small (2 paragraphs)• LEGAL – The legal team always wants to add their changes – DON’T LET THEM! Help them understand why the license needs to be left alone. Help them see the benefits. – Take your lawyer to lunch• MANAGEMENT – Make sure the company is ready to shed itself of this IP – Get your Management on board – What do they get from it?
  4. 4. Return On Investment• MANAGEMENT must see value in open-source• ROI takes on many forms for a company – WILL THEY STILL USE THE SOFTWARE? o Then ROI includes more users hitting it and finding bugs, helping with changes o ROI includes allowing others to work with your internal programming team – HAVE THEY ABANDONED THE SOFTWARE? o ROI includes “Good Will” among the community • Corporate Image • Grad School Users – recruiting leverage• THE INVESTMENT IS YOUR TIME and YOUR Company ATTORNEY’s TIME
  5. 5. END GAME• What do you hope to accomplish?• For CPSeis, my goal was: – Provide a system for undergraduate and graduate study of seismic processing – Provide a means for others to mine the software for algorithms• Results to date: – OpenGeophysical built a product around it (OpenCPS) – Fusion added wrappers to the modules for their product (GeoPRO) – Several others have the software internally – But I haven’t packaged it well enough for easy use among students… and it lacks an easy-to-use interface
  6. 6. Target Platform This is difficult for a complete system• Match up a good MPI• A good Queuing system• A good compiler (or set of compilers)• An Operating system• A package manager• Third-party dependencies• A Graphics suite/engine
  7. 7. Target PlatformDependencies O/S• FFTW 2.1.5 • Centos 4.8 x86_64 OR• MPICH2 • Centos 4.8 x86• Java 1.6 • Ubuntu 8.04• OpenMotif • gfortran 4.1.2 • gcc 3.4.6 • Torque/Maui
  8. 8. Issues• Getting “market share”• Compiler Changes• Fixing legacy code• Packaging• Helping users
  9. 9. Decisionmaker Thinking(obtaining market share)
  10. 10. Compiler Changes and Legacy Code• “Hard” compilers (F9x, C++) – GNU C++ is more strict than it used to be – So… legacy C++ sometimes decides to not compile – The work may be overwhelming… so• Modify the Software OR• Repackage with other Open Source components!• EXAMPLE: – cbyt, va, (Viewer and Velocity Analysis) – if you can’t fix it, mix it up with SU suximage, gnuplot…
  11. 11. Fixing Legacy Code• Fortran usually not a problem (F90 F95, that is)• F77 code is full of old errors, hard to find• C++ (for me at least) is a nightmare• gdb is your friend• (and so is “print”)• But… Get the code to work. Put it into a structure• Take out as many dependencies on the old environment as you can – Seek out the hard-coded environment (ex: plottername=hoplot1, pony5…) – Fix up the build environment as well!
  12. 12. Packaging• Put the code together in some kind of structure that will allow for changes – Because you WILL be putting in the changes – no one else will!• When you get ready, put the source into SVN – Sourceforge is a good repository – Eclipse can be used with subclipse for end users to keep code current and to checkout/in changes• Keep working on your makefiles and build scripts – Help the user pick a target platform that you can support – Don’t try to please everyone, you will fail• Include scripts to help the user add thirdparty dependencies
  13. 13. Helping Users• If you don’t have time to do the above steps…• Then you’ll spend more time here.• Do what you can• Enlist others• Try to form a support group• It all goes back to “perceived usefulness”
  14. 14. Screen Shots - cfe
  15. 15. Screen Shots - cbyt
  16. 16. GeoCraft• Pure Java• Many Platforms• Interpretation• AVO analysis• Model Building• Viewing – LAS – 3D Seismic – 2D Seismic – Horizons/Grids• Toolkit for attributes, smoothing, etc.
  17. 17. GeoCraft – SEG Salt Model
  18. 18. GeoCraft – SEG Salt Model
  19. 19. REFERENCES• http://cpseis.org• http://sourceforge.net/projects/cpseis• http://geocraft.org• http://code.google.com/p/geocraft/downloads/list• http://opensource.org/licenses/MIT
  20. 20. ACKNOWLEDGEMENTS• ConocoPhillips – For allowing the code to be open- sourced• Weinman Geoscience – For allowing me to take time to work on this project• Eric Geordi, Bill Lucas, Heather Shelly, Amy Sharp, and many others who wrote the code, helped with recent versions, and provided assistance
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×