Job offer: Upgrade projects from old stable to 4.0.4 stable

Hi there,

We’ve made 3 OSHW projects with old stable build (2013-07-07 BZR4022). We’re now looking for someone that can bring these projects to the most current stable version. Especially making everything .pretty, extract shared components, circuits, footprints into Git libraries.

First step is to make this projects “production ready” again with the new KiCad version. Clean up the projects so they’re ready for future collaborative working on them. A future step might be to introduce some planned changes into these projects.

Project 1:

Project 2:

Project 3
Is not published yet. But is very similar in terms of features and complexity as Project 2. Will give you access to the repo in case you’re interested in the job.

You:
love KiCad, know it by heart. You’re comfortable using the features introduced in new stable (.pretty, git, etc). You’ve completed production ready projects with KiCad 4+.

Payment:
You name the price. Possibilities are flat amount, amount per hour, amount per project, etc. We’re very flexible. We can pay in BTC, EUR, USD, GBP, CHF.

Contact
If you have questions about the job, or are interested in taking it, you can answer directly in this thread or contact me via our contact form: (sorry, can’t put another link because I’m a new user. Go to our website, company->contact).

Patrick
Whitebox Labs

Your projects already use the SEXPR format for the PCB files, layer names are in English, and all your schematic symbols are in your custom *.lib file and the project cache. I really don’t see anything to do other than:

(a) run kicad’s lib_convert.py to produce the kicad_mod files from the legacy *.mod file
(b) create an fp-lib-table to point to the newly extracted collection of kicad_mod files
© run sed to change the filenames in the “module” sections of kicad_pcb to point to the new collection of kicad_mod files
(d) check that nothing’s broken

It took me less than 10 minutes to check the “tentacle-mini” project. Unfortunately I can’t quite do the job since I don’t use the “stable” release and the development version that I do use produces an incompatible kicad_pcb file, but anyone running the stable version can do it.

Does that mean that a future update will not have backward compatible pcb files?

@cbernardo thanks for your input, really appreciated. I’m gonna give it another try.

However, there’s more to the job regarding cleaning up the projects. Extracting shared libs/components/footprints so they can be used by all our projects; Applying best practices so the projects can be more easily shared and worked on by multiple people, etc.

Perhaps you could use Bountysource?

“Apply best practices” is rather a vague requirement, don’t you think? For the benefit of you and anyone bidding for work, I think you need to be quite specific.

I would probably volunteer to do a KiCad conversion for free as it is open source, but an open ended requirements spec doesn’t encourage me to get involved.

For what it’s worth, while watching the football I’ve done a v4 conversion here https://github.com/bobc/tentacle. Footprints moved to https://github.com/bobc/tentacle.pretty

It’s tricky. At this moment there are some file format changes which are not compatible, but whether they are used or not depends on the situation. The files can probably be converted with the latest dev branch and produce output which works fine in the current stable, but to be safe it’s best to use the stable release - you would need to install it anyway to make sure everything is fine. Incompatible format changes are unavoidable as features are added to the PCB.

I agree with bobc - you’d need to specify exactly what you want more clearly. There are a number of us who hang around on the #kicad freenode IRC channel; if you have a few minutes we’d be able to help you out with any issues with the conversion.

That is not exactly answering the question, which I think amounts to can 4.0.4 open a project saved by the Nightly “4.1.0”

I would expect an issue if rounded rectangular pads had been used

Thanks a ton, @bobc. I’m on the road this week, but I’ll definitely check it out when I’m back in the lab. We’ve got this “KiCad jar” where we put $0.50 for each OSHW product we sell. I’ll add $10 to that jar for what you did. Whenever we hit $500 we donate a day of development to Cern.

@bobc, @cbernardo, I must admit, the description is quite vague. But when interested, please contact me - we’ll have a skype/phone/chat, clear things up and define the details together.

What we’ve done in the past with freelancers/contractors is to define an amount of hours, a $ amount for these hours - and a task. Once the hours are “spent” (or the task is finished) we see together where to go from there.

I know goals shift, tasks change as projects move along - that’s why I like to work iteratively and with agile methods. This might not be relevant for such a small job/task, but maybe (hopefully) this job will only be the first of many we can do together.

I have a small amount of experience in a business environment similar to that. I think it was called the “level of effort” approach to development. You start by allocating a fixed amount of resources (time, money and personnel) and some rather loose objectives. I was in a group with three others, our budgets (beyond salaries) were a few hundred to a couple thousand dollars and the evaluation intervals were just a month or two. When a resource was gone we met with the customer or administration and evaluated where things stood: what had been learned, what didn’t work, objectives that were completed, things that need more work, unanticipated problems, fears that never materialized, etc. Sometimes we decided to kill off a whole idea. More commonly, an idea would be modified or redirected. Usually we ended up with a more detailed and complete concept of what a product would eventually become.

It was all pretty low-key and I liked the working environment. I thought it worked well when we were doing concept and development work. I can see it would be less effective once you have nailed down a well-defined product performance specification. For me, the most fun seemed to happen when somebody said - either figuratively, or literally - “Hey!! I never noticed THAT before!”. Then we’d spend a few hours to a few days chasing some concept or capability that had previously evaded our attention.

Dale