23
Open Source Tools and Proprietary Software Who “we” are Why are we developing software and using “Open Source Tools” What we are doing How we are implementing the tools When is this happening What is next

Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

Embed Size (px)

Citation preview

Page 1: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

Open Source Tools and Proprietary Software

• Who “we” are• Why are we developing software

and using “Open Source Tools”• What we are doing • How we are implementing the tools• When is this happening• What is next

Page 2: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-Who we are- (ORMAP ESRI User Group)

• ORMAP – Department of Revenue administered project to help fund and build a digital taxlot map for Oregon.–www.ormap.org

• ESRI User Group – A subgroup of ORMAP counties that use ESRI Technology and work together.– ORMAP->Cartography>Parcel Data

Model

Page 3: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-Who we are- (ORMAP ESRI Tools Group)

• Tools Committee – A subset of the ORMAP ESRI User Group that have technical resources available to build tools (Use ArcMap 9.2, VB, & VBA)

• Members – Department of Revenue and counties including Clackamas, Clatsop, Deschutes, Jackson, Lane, Marion, and Polk.

Page 4: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-Why are we doing this-(ORMAP ESRI Tools Group)

Software– All converting from Arc/Info to ArcMap– All need software customized

• Business Process– Similar organizational structures– All need to make maps that meet state specs– All have similar map maintenance procedures– All have limited funding

• Users– Cartographers maintain and produce “maps”

Page 5: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-Why are we doing this- (“Open Source”)

• Technical Resources – Distributed programmers with limited time– Can not afford ESRI or contractors– Want to avoid being locked to one developer– Want innovation & faster development– Want the community to evolve and grow

• Software – ESRI software needs a lot of customization – Same/similar software problems– Want maintainable software

• Willing to bear disadvantages

Page 6: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-What are we doing-(Developed a data structure)

• Created a consistent database structure for all ESRI ORMAP Users

– 3Rd version is complete and tested– Got help from ESRI (Jeff B.)– Hired Nancy Tosta

• Shared methods to convert data– “AML” and “ESRI MODELS” – Got help from ESRI Help (Jeff B.)

Page 7: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-What are we doing-(Developed Prototype Software)

• Designed and had a prototype built

– Identified & documented requirements – Got help from ESRI (Jeff B.)– Provided lots of input to ESRI (CoGo)– Hired ESRI to develop a prototype

Page 8: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-What are we doing- (Developing Production Software)

• Developed an “Open Source” process for sharing resources and developed Release1.1 of the software for ArcMap 9.2 with CoGo

– Editor Tools – Clackamas & Polk (VB &VBA)– 18x20 Map Tool – DOR and Lane (VBA)– 18x24 Map Tool – Clatsop and Marion (VBA)– SW Administration – Clackamas – Group Coordination – Polk

Page 9: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this- (Decided we were desperate)

• Decided we were desperate enough to risk a joint development process

• Counties & DOR volunteered staff • Developed an organizational

structure (central support model) to make it happen– Administration, Programmers, Users

….. Started To Cooperate

Page 10: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this-(Developed Coding Standards)

– Match what has already exists in the tools code from ESRI – No data type suffixes (!, @, $, %)– No “my”…– Add header see add-in from James, ask him to modify it to

be a bit shorter– Releases of source forge have line numbers only when

they are in the trunk (master copy)– Delete any code that is no longer needed.– Prefixes: s = string, b = Boolean, i = integer, m = module,

g = global– Use the following abbreviations: MI MapIndex, TL Taxlot,

FC Feature Class, Def Default Values, C Cartographic lines– Use “p” for Pointer– Add comment to the top where your work has been

added… – Set variables to nothing at the end of the functions.– Consistent indentation

Page 11: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this- (Developed a process)

1. County “user” requests a change (enhancement or bug fix) using sourceFORGE http://sourceforge.net/projects/opet. (County programmers or any county in the ORMAP group can partner with a tools committee member to discuss and take on a tool request)

2. Tools committee member volunteers to code and fills out a “Tool Design Document” and presents it to the Tools Committee

3. Tools Committee approves project & another county volunteers to test

4. County performs work and places code into the county’s branch in Source Forge

Page 12: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this- (Developed a process)

5. Testing county reviews work (both user environment and programming)

6. County presents the tool to committee who excepts/rejects tool for the next general releaseso county can get paid by ORMAP (if funded)

7. sourceFORGE administrator merges code for next general release

8. Counties test next release9. Present new tools to the ORMAP user group 10. Next release is published

Page 13: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this- (Developed Specification Sheet)

• OVERVIEW– Tool Name (short 10 word description ie: adding

annotation hooks) – Justification (why do it): – Brief Deliverable Overview (proposed solution):

• REQUIREMENTS (Complete before review)– Current Process Summary (how does it work now): – Desired Process Summary (how should it work): – Assumptions/Constraints:

• DESIGN (Complete before review)– Start & End State:– Inputs & Outputs:– Process: – User Interface:

Page 14: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How a request is made-

SourceFORGE Request

*Any user can make any - - - type of request.

http://sourceforge.net/projects/opet/

Page 15: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How a request is made-

Requests

*Any tools committee county can take on a project. The project has to be approved to ensure that the results will meet DOR specs.

Page 16: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

- How code is managed-

Tortoise Subversion

Use Subversion’s update function to get software

Page 17: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How code is managed-

Subversion Commit

Commited to SourceFORGE (Conflict resolution & merge)

Page 18: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

- How code is download-

Anyone can download compiled software and source code.

http://sourceforge.net/projects/opet/

Page 19: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How To Summary-

RELEASE

User Communit

y

User Communit

y

REQUESTS

SPECSDeveloper

CODE

Developer

Developer

Developer

SourceFORGE

E-mails/WordSubversion

Developer Committe

e

Page 20: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-How are we doing this-(Issues)

• Need a SW Administrator & Web Host Clackamas County & Department of Revenue

• Need Volunteer DevelopersClackamas, Clatsop, Lane, Marion, Polk, DOR

• Funding Counties can spend any amount of money on coding

but ORMAP funds are limited.

• Need user documentation & helps• Software is not licensed or restricted

Page 21: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-When is this available –

(Version 1.1)

• Editor 1.1 is done and available • 18x20 Plot Production is in testing.• 18x25 Plot Production is in testing.• Working on helps & documentation.

• The release meeting is scheduled for….

…. May 15, 2007

Page 22: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

-What is next –(Version 2)

• This spring/summer

– Possibly develop additional tools – Possibly port the software to VB.Net– Make tools “independent” of the data

model.

Page 23: Open Source Tools and Proprietary Software Who we are Why are we developing software and using Open Source Tools What we are doing How we are implementing

Conclusions• The process works for our “limited” user

base (ie: needs our database design to work)

• We have implemented a pragmatic “Central Support Model” with sharing and evolution of code (opposed to other open source development models)

• We have no restrictions on the code