Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Open Source Project Andreas Fabri GeometryFactory Lutz Kettner Max Planck Institute.

Similar presentations


Presentation on theme: "The Open Source Project Andreas Fabri GeometryFactory Lutz Kettner Max Planck Institute."— Presentation transcript:

1 The Open Source Project Andreas Fabri GeometryFactory Lutz Kettner Max Planck Institute

2 A.Fabri, L.KettnerCGAL2 Outline Current Status Towards a Component Repository Towards an Open Source Project

3 A.Fabri, L.KettnerCGAL3 History and Mission Statement “Make the large body of geometric algorithms developed in the field of computational geometry available for industrial applications” Started in 1996 as joined project of: ETH Zurich, INRIA, MPI für Informatik, Tel-Aviv U, Utrecht U, Trier U, FU Berlin

4 A.Fabri, L.KettnerCGAL4 Development Process Editorial board –receives/reviews submissions Developer manual, manual tools, one week developer meetings Version management system Bug tracking system Three internal releases per week Testsuites

5 A.Fabri, L.KettnerCGAL5 The CGAL Class Library 1200 C++ classes, 300 KLOC, 1100 p manual 40 developer years supported platforms –Linux, Irix, Solaris, Windows (OS X) – g++, SGI CC, SunPro CC, VC7, Intel, PG CC Release cycle of 12 months 6000 downloads per year

6 Towards a Component Repository

7 A.Fabri, L.KettnerCGAL7 Gems vs. Libraries Gems –self contained, but often hard to combine –combination means reduncancy Libraries –often tightly coupled –often derivation hierarchies with single root Components –more standardized than gems –more lightweight than a library

8 A.Fabri, L.KettnerCGAL8 CGAL Component Model Generic programming: Specification of concepts like NumberType, Kernel,... GMPCoreleda::real boost STL CGAL::Kernelleda::Rat_kernel Kernel concept CGAL::Datastructure double NumberType concept

9 A.Fabri, L.KettnerCGAL9 template class Delaunay_triangulation_2 { void insert(Kernel::Point_2 t) { if(Kernel::Orientation()(p,q,t)==..) if((Kernel::Incircle()(p,q,r,t)) } }; CGAL Component Model Generic programming: Specification of concepts like Kernel, TriangulationVertex_2,...

10 A.Fabri, L.KettnerCGAL10 CGAL Component Repository Results in small overseable units Allows differentiation –maturity vs. early availability –access and licenses (open source, commercial) Scales up –specialized datastructures –contributions Allows contributions to keep their identity

11 Towards an Open Source Project

12 A.Fabri, L.KettnerCGAL12 Open Source License A guarantee that CGAL remains free Goals –promote CGAL as a standard for users –incite people to code CGAL-style Different licenses for different parts –LGPL for Kernel and Support Library –QPL for Basic Library

13 A.Fabri, L.KettnerCGAL13 Becoming a Project Partner A typical CV –CGAL user assimilates design ideas –Discussions on cgal-user mailing list –Submission to Editorial Board –Invitation to internal ressources Legal aspect –Researchers and students do not own their code –We need ok from technology transfer office

14 A.Fabri, L.KettnerCGAL14 Project Partners/Contributors

15 A.Fabri, L.KettnerCGAL15 A Good Moment to Join Library has reached a critical mass Acceptance of exact computing paradigm Maturity of compilers Acceptance of generic programming (STL)


Download ppt "The Open Source Project Andreas Fabri GeometryFactory Lutz Kettner Max Planck Institute."

Similar presentations


Ads by Google