If you want a MUCH better quality audio only version it is here:
http://www.eevblog.com/2010/11/12/soup-to-nuts-with-free-software-audio/

A presentation by DJ Delorie called Soup to Nuts with Free Software. It highlights the current state of free open source software for end-to-end engineering and personal use. Operating systems, EDA tools, office tools etc
Recorded at the Renesas Devcon 2010 event.

YES, I KNOW the audio sucks on this video.

Hi Welcome to the Eev blog an Electronics Engineering video blog of interest to anyone involved in electronics design. I'm your host Dave Jones Good Morning Everybody Morning morning. Those of you who aren't morning people, Morning Everybody! This is A9c Super with free software. My name is DJ Glor I'm a senior engineer at Red Hatack work in the Global Engineering Services Group we do primary Ly Eded Systems cross developers Etc I've been working with the G Tools since 199, 1988, 1998.

Um I've also worked with the G Schols on Djpp since 1989 and my first experience with the Renaissance MCU was in 1992. the Ha300 I'm also one of the co- maintainers of some of the free layout software that I'll be talking about Ler and author of The Rhc, M16c, M32c, R3c FL programming guide for people to own checks. So by now you've seen this chart talking about all of the wide range of products Rosof offers. The things that I'll be talking to about today: cover pretty much most of these.

Since we're talking more about the environment to use these products, not the products themselves, but we're going to focus more on the microcontrollers and microprocessors area. This is the lineup of new Rosce micro processors and although I have my favorit, you guys all do too. We're going to cover pretty much all of the techniques that we will cover today. cover pretty much all of the processors you see here.

I think uh, we don't support the 720 to the 780k. that's about it now. Wrong presentation. So so what's the Innovation here and I had some really pretty pictures to bring up.

Um, so we going to just talk about some of the people who have used free software or the concepts behind free software to innovate with their products. and then we'll talk about how you can use those same Concepts into your products. Companies like like Red Hat, IBM uh in software with their Quake game, Android operating system, Linux kernel itself and even the companies like Utopia did one of the first Linux based smartphones and even Apple uses free software to produce with their products despite the fact it perceives them as a closed company. They do take advantage of the Fre software philosophy to innovate with their products.

So what does this mean it means to me new business models mean new opportunities for you to interact with your customers and your suppliers. And my position is that free software enables Mass uptake of your products and freedom to innovate. Using free software in your business gives you control and flexibility. and using free software in your products gives your customers control and flexibility that allows them to do more.

It allows them to do things the way they want and not everybody agrees with this position. So the agenda today we have a few things to cover. We're going to cover the business end of using free software and what I mean is how to use free software for your daily business needs email web browsing D your your business back to end databases, All that stuff I'm going to talk a bit about using Free Software to Design Electronics Hopefully by now you've all seen a nice pretty pink sheet of paper with little circuit board in your goodie pack. This board was designed entirely with free software and the ined development tools for free software will be the next topic.
and again, all the software that I write for these boards is all free software. And then finally, we'll spend some time at the end to talk about the philosophy behind free software, how you can apply it, what it means, how to integrate it, your your business, and throughout. we'll be stopping at the end of each section for questions and answers. So let's cover some examples of innovation which came about because of the free Software philosophy.

The original IBM PC Most people don't think of it as being free software it's kind of before that, but one of the key things they did was they included with every PC Bi systems specifications for the hardware so that you could add their platform. You could put your own things in there. You can do things with it that they didn't anticipate. and because of that people have some arguments of whether from a technical point of view is the best platform.

It certainly became the most popular platform we can see where that. L the lamp step some of you might have heard of L Apache Isql P is becoming very popular in the business world as a back end for businesses, and it's based entirely out of free software, so the businesses who use this can apply it the way they want Quick Free. Most people don't think of video games when they think of free software, but when Quick Free came out in software specifically licensed their games to allow. in fact, encourage people to add levels to to use what they had produced, to extend it to do more things with it.

And because of that, their product was relevant and fresh and and usable for much longer than you would have expected. The new tool chain you've all heard about in these last few days talking about G RX The concept here is that with many contributors and many users, a product can become ubiquitous. Everybody knows what the tool chain is, everybody uses to F chain, Everybody supports it. They got that through the free software philosophy and and finally, you've probably seen many of the smartphones today are starting to use the free software offerings in order to get their product to Market faster and concentrate on the pieces that are specific to them and let other people worry about the parts that home.

So what does free software mean? A lot of people talk about free software. Not a lot of people actually know specifically what it means and they think, well, it's not free because I can't do everything I want to do with it or it's not free because they charge me for it. It's not entirely about what the user wants. Free software is about what the software wants.
The software wants to be free. And by Free I mean there are certain freedoms that the software grants to the users. and free software is about making sure that those freedoms are maintained. For starters, Fre software means that you have the freedom to run the program for any purpose.

You can't write piece of software and say we can only use it the way I use. You can only use it in these countries. You can only use it for these purposes. You can't compete with us with our own software.

You have the freedom to run the software for any purpose you want. You have the freedom to study how the program works and change it to make it do what you want. So if the software doesn't fit into your needs, you can make it fit into your needs. You have the freedom to redistribute copies to help your neighbor.

Now in the Free Software World They talk about neighbors. but who are your neighbors in your business? They're your customers, your suppliers, your partners. those are your neighbors. The ability to share your software and tools you use with them allows you to work together more efficiently.

And finally, the freedom to distribute copies of your modified versions to others. So if you get something, you have not only the Op to enhance it to fit with your business practices, but then you can share it with your partners so that they have the same business practices and the same extent. So let's talk about how you would use free software for your business: I mean your daily Business Needs Desktop: There are a couple of different standard desktop platforms available today, the most popular ones being the Gom and KD desktops which you find in most Spas Linux based distributions. They include such things as the Firefox web browser, mail readers, news readers, PDF readers all the usual things that you need as part of your daily business life I Want to check my email I Need to go online I Need to download some specs so I can read about something.

These are all standard be based for distribution desktops. There's also a full office suite included. Open Office is basically all the things you need for your standard office needs work Proc: spreadsheet, database presentations. In fact, this presentation was developed using Open Office not PowerPoint I did double check it before I and and you get some extras in here that you normally wouldn't get in an office package.

For example, Open Office can export to web pages and PDFs by default, which always has. it's never been an extra thing you had to buy separately and servers. Many businesses use servers for databases for their mail, for their web. DNS DHCP Nff Samb routers firewall FTP Ry Most of the internet runs on free software, so anytime you go out and visit a website, there's a really good chance you're using free software too.

And and there are other packages as well that other companies have used is part of their grouping things together. Um, so any questions so far on on this stuff which actually goes kind of quick, people ask a lot of questions. Um, what's the link between Open Office and uh Java CU I think when I do my Java install these days it asks me if I want to install open Office Is there some link there between the link between Java and Open and Office is they're both produced by the same which would be some Micro Systems now part or so. That's kind of a product tiin thing.
There's no technical reason why, but it's it's part of the whole package deal from systems. Does anybody use any of these software yet? Oh, excellent preaching to the Qui how how many people use a Linux based distribution by default? Well, you'll convince the rest of you. Moving on. Eda Tools: These aren't quite as well known as the Office aration tools because there are fewer engineers in the world than there are.

Well, everybody else. Um, there's a couple of different Eda suets that are free software. I Use the G to PCD Suite because uh, it's one of the developers and it does what I want. The Jeta suite includes the usual things: schematic capture, board, layout, simulation, and a few not quite so ordinary things scripting.

um, the ability to integrate with you make files in your backet, processes and databases and to extend into other unusual Fields Um, little materials, ver exportation, documentation generation, and and these are available on all common platforms Linux Unix Macintosh Windows. In fact, it Sports Mac better than Windows because Macintosh is based on a Unix free software environment as well. And and all of the Fil formats that they use are all also freely documented. They're open formats, they're easy to use, they're text files.

You can run them through any program you want to modify them in case the tools don't do what you want. write your own tools, and the other common that people use is the Kad suit, which basically does the same thing they got schematic capture, they've got the layout programs, they've got all of the usual things, and they again support all of the major platforms and and the power ofour talks. It really shows up when you Design flow needs to do something different. something unique.

If you buy a commercial package that has everything gled together, you're basically stuck doing things the way they want to do things. Everything is designed to work their way with the open source tools. If you want to do something different, if you have some unusual way of managing your Eda flow, then you can do that. The beginner might only use common programs in the expected ways when you start getting into larger projects and more mature.

Uh, Department SC have large databases of products and they have their own flows and their own internal apartments and everything like that. these tools can be integrated into that process rather than trying to integrate your processing into the tools so it's a lot easier to streamline. Environment: Free Software I Know one: this huge system of make files and scripts backend databases in order to take all of these archives of old schematics and migrate them into new products so you can reuse old pieces of old projects without having to go and re-edit all of the schematics. It's all done with a giant process that Fe that through and for some examples of these custom flows: When I do my own circuit boards, after I'm done generating the circuit board, I have a series of scripts that I run that modify all of my layouts in order to compensate for the process that I to generate C boards, it might adjust the size of V pads on different layers depending upon what's connected to it and whether or not I'm going to be using my four layer process or my two layer process in order to cope with the the process issues that I have.
It also takes that same circuit board and extract some of the pieces out of it in order to generate new circuit boards that I use for doing things like P way out and rendering andem BRS Um and some of the experiments that people are doing with the software which you don't normally see with proprietary software also interest. There are some versions of Arts that been modified to use 3D renderings of your circuit board so you can rotate it around and see the stackups and represent the layers how the layers interact with each other in 3D view or they use the Gpus in parts to render all of your layers translucently so you can see through what. these are all experiments that people are doing outside of the core development and you don't will be able to do that software and of course all of tools use standard formats for their outputs and for interactions with other vendors. I often get people asking me well your free software what what PCB FBS support your output well they all support my output because I use standards.

we do not use proprietary formats, we use old formats I can say my out to anybody and we of course usual tools for reviewing the output files and checking all of your work and making sure that everything is is the way you expect it before you s and we include a number of simulators as well that are all open source. We have digital simulators and support barog. we have the analog spice based simulators and they're working on a Next Generation simulator that's in mixed mode that can support All Digital and analog simulation together in the same package including all of the preuse and in charting everything For let's see what these look like. These are some examples of schematic capture and circuit layout, and hopefully by now you've all played with your little circuit board.

The schematics in the layout that you see on the board are that board The applications resemble most of the applic you're probably familiar with. They use the same looking feel as most L bations. They're fairly intuitive to learn, but if you want to do more with them, if you need a more power interface, they have have those as well and you can even modify the interface yourself to use. uh, scrip.
You can put scripting up to menu items, you can tie them with other bits of your process that weren't original includ. And here's some screenshots of the the Kad Suite. As you can see, it's basically the the same, all the same user interface stuff, slightly different functionality, a little more integrated depending upon whether you prefer an allinone solution or a more expandable building block type solution. And here's some examples of the postprocessing tools.

Yes I'm going to anybody who tried to keep last year may have this didn't have undo has undo. So we go back and look at and and with all these packages development continues and and we have people who say I have your latest release and it's got these bugs and it's like well if you have our latest release you don't have our latest release cuz we're still working on it if you want to get it right out of our source control system. we we fixed that bug and many other bugs and add some other features. Um I've I've heard rumors is um the experience these tools on loing sources with those um is the experience better? The question is is what's the experience between Windows and Linux for these tools and indeed the developers use Linux So the tools tend to run better under Linux but they work pretty much the same under Windows.

There's a few issues with some of the more esoteric features. For example, the layout editor can pre can generate footprints on the Fly using a scripting language in order to import them from a dynamically generated definition of your element. Well, in Windows the scripting tools aren't there. so unless you've gone and installed the extra packages and got them working, those extra features are going to be hard pressed to function, but if from A from a point to C point of view, they're pretty much identical.

Um and the Kad HST try very hard to make sure that their stuff works exactly the same on everything. Now if you want to compare Linux to Macintosh different answer. The Macintosh stuff works flawlessly because they are in built on a free software basis as well. They have all the Exens and and it's again another case where you want to try the absolute latest stuff because we're continually working on improving the Windows Experience pull the tool from Do you pull the scripting tools for Windows from Sig Do we pull the scripting tools from Sigin? There is a Sigin build of these tools? Uh, it's called the portable Jeta.

It's designed for people who want to try it under Windows You downlo. It doesn't infest your system with little pointers to think it's all selfcontain and that's built on sign. But the distribution that we use for our official Windows builds is based on MW tools so you would get a native version of all of those utilities. I Believe MW has many of them, but the one that we use is kind of an old school one and uh, but you you could use other scripting in, but the one that's built in which is the one you would expect to work is is the M4 processor and everybody goes what Ke uses: Uh WX widgets.
Yes, they use WX widgets so they have a consistent looking field across all the, but at the same time it may not look exactly like the native ones. The GED Suite uses Gtk for most applications, but for the layout tools, we actually have the ability to switch to a native tool chain tool set on each one, although we haven't quite got there yet. But we do actually have two different booies for based to tools: one that's based on Gtk and is more user friendly and another one based on Motif widgets which is for power users and allocates a far greater percentage of the screen to your layout. Because um, we all know that we need as much screen real estate as possible.

And in fact, one of the products I'm working on is having dual screen support where you can have two different views of your board on two different windows so you can use one of them to pan around dou. So, and we're constantly working on forms, getting the speed up in general. Yeah! Windows Linux MACC Any other questions: Is there limitation on layers? How layers? Uh, Limitation on layers. It depends on how much memory you have I I Found.

Once you get to about 56, the user interface becomes a little difficult to work with. Um. and as far as Bo size goes, at the moment, we're limited to about a quarter of a mile qu of a mile at 01 mil resolution. Uh, my house is really, really small.

C Big. That Cboard that big. The the free software philosophy is that you never put limitations in your code. You try to code in such a way that that they can do whatever they want.

Limited only by their own. Hardware The default build starts you off with eight layers and allows you to add up to 16 a total of 16 layers. Uh, if you need more than that, there's one spot in the source where you change a 16 however many you need I Know people use it for 24 layer boards regularly. Um so if you picture of 24 layer board portable mile we do not corruptly support Blind and Bu be it's next on our list of things to do.

Most of the people who use our software so far uh, have not needed them because they can't afford yes and it's a very popular request And and we do have some people who have added patches to it to support line and varried Fs We just haven't integrated them in so you can go and get their patches, add them to our source, and get that functionality in an experimental way. at least something that you sortly can't do with other packages F that already support. But yes, that that's definitely on our twoo list for the the outcoming fut you mentioned early that um, there are fre weere operating system operating system B Are there any cell that weop, for example Real? You mean you mean cell phones? The question is, are there any cell phones that were developed with free software? Do you mean developed with or developed using free software? Uh, actually both. Okay, do you have an iPhone I Do not.
Do you have an Andro phone? I Do not. Do you have a N smartphone then for you? the answer is no. But the the iPhone was developed based on the BSD kernel which is open source software at least and they use the G new tool chain for all of their development. The Android platform actually runs a Linux kernel and all of their tools were built using the new tool chain Noia Smartone.

Many of those are based on a Linux operating system and the Kopia phone also is based on a Linux operating system. That's personality. I'm asking about personality and also the hard I Don't know if any of the phones as far as circuit boards have been made using free Software tools I I Do know that there are some very impressive things out there that I can't tell you what they are that were made with free software because the Elcs companies tend to be very secretive about how they produce their builds. I Do know one company who's Will you top.

They have uh a testing frame work for hard drives all the hard drives that are manufactured in this area. They have a very highspeed reliability test platform that's based on a number of boards about E Big with a I think very highspeed Fpgas on them running custom hardware and custom firmware in order to do super highs speed testing of hard drives. and that was done entirely with free Software tools. But the most exciting project that I know about that uses Free Software tools is a couple of Million Miles Away on it way out of the solar system.

there are a number of research projects for deep Space Telemetry and Mir space that are built using Free Software Tools hard. The companies be ashamed of having us before. It's not that they're ashamed of it, but even if they use commercial tools, most companies do not want to tell you which tools they have chosen because they feel that that might give some insight on the design processes and and that's usually a closely guarded secret. cl to companies I don't know I Like telling people what I use but whenever I ask people, that's usually the the response I get is that they are.

They consider that to be a trade secret if their choice of e and certainly if they're I get a I See a lot of boards that are designed with feebles and I can't tell anybody about because boards themselves are Trade Secrets but we uh, we help them fix bugs in our software and learn how to use the tools. They give us the copies of their files to help us help them. What might help I don't know DJ Are there studies that have been done to show the any kind of metrics that would uh, show the adoption rat some of these schools within the engineering community? um I haven't seen any studies yet I Know that we're becoming more and more we're getting there slowly. yeah and granted that we we we're more targeting the lower size or the entry level type things that we our competive more eagle and less all te designer because cuz they're huge and they do everything and they're very Compu But we have started seeing some independent design firms uh using the tools to do their designs because it lowers their cost of entry and it allows them to do some things that might be anything else All right.
screenshots. We're do screenshots so we have some screenshots here of of the Gerber viewer and we can export to PDF just fine. and we have a photo realistic expor for our layout package which has thrown a number of us. oh you have the boards already No in fact the uh the presentation you should have seen had a big popup of of the board that I designed and it looked real except for their gold that was tin because I used that picture and pasted on pictures of all the parts in order to make something to look like board and that started off as an experiment by somebody who had exported the different layers into a paint program and Blended them together to get something that looked like a real Ciruit board and we thought that was really useful and we integrated it back into the product.

And here's some examples of our simulator out Butut we have both obviously analog and digital and uh, this particular Trace to see on the digital one I had done a project with an Fpga I used our simulator to simulate my basic design, I did all of the layout with the resence tools and I took their post layout design and simulated it again with our simulator, not theirs because theirs didn't do what I wanted to see, all of the timing issues, took the code, put it in the Fpga put a logic analyzer in the PGA got the actual data back out right through the same charting software to get the live data. So the one tool did pre-layout post layout, and actual data. So let's talk about the development end of things. Hopefully by now you've all heard of the new Tools in GCC.

They've been talking about it a lot with RX and this is. this is a whole different category of tools. from the board layout to tools. These types of tools are the same tools that we use for our native desktop environments, the same Enterprise class software that's used by companies like the New York Stock Exchange for their Linux based servers we use for our EMB bettered development.

The same GTC for iPhone apps can be used for your Sh tools and your Rhc and and even new RX tools and these can be supported by anybody. Choose to offer support for these has ability to go in and learn about the tools and provide support. either Global support or Red Pack certainly makes most of their money some support through software. Uh Kit Coms is very well known with Renaissance for supporting the Renaissance products.
Renaissance supports things Many others who who maintain support and add these tools and performance- wise. Renaissance Just released the Cor Mark numers for the RS last last week and hopefully you were all impressed by those numers. I I was I was the one who did the work. Uh, we're very comparable if not surpassing the proprietary offerings depending upon the various chips and whatnot.

Obviously you have to do your own Benchmark to find out exactly what performance you're going to get using free software. We found in many cases passi tool. Why? Because we've had Decades of experience with Engineers for many companies working to make this one platform produce optimal code. An optimization that was done for the Intel architecture might apply to the RX.

An optimization done for a T microprocessor might work with an Rhc processor. Having a group that does just tools for One processor can't compete with the entire planet put chain for all the processes. and of course we have debugging the either embedded stubs which run in in your part or third party drivers. Despite the fact that these are free software tools, they can be integrated with proprietary offerings for Hardware specific debug JTAG debug, the RX debugger, etc, etc etc.

And of course, writing software is no use if you can't get it in the Chip And While this isn't free software, this is a hardware thing. I Think one of the strong points that Renaissance has with their offerings is that the that they use to program theirs is documented is an open format and anybody who wants to add their own value to the programming process can do so. I Prefer to use my own solutions for these, but I I have uh, some cases where I have one microprocessor programming microprocessor next to it and these are things that you can do when the specifications are available and they're not hidden behind some NBA And of course Source Control is an issue in any developing project. You need to be able to save all of your work and there are a large number of free software offerings for Source Control which are used worldwide.

Most of the free software products of course use their own free software based Source Control and depending upon your needs and the flow that you need, there are different offerings. For example, the Git Source Control tool is used by the Linux team because they are so diverse and disperse and they have built in this package which is designed for their needs which is to accumulate patches and changes and bring them up through a hierarchy of review and acceptance into the final. So let's focus on the G new tool chain for a moment. In in free software, there are a number of different ways that you interact with the tool chain.
In the center of all of this is the free software. Foundation They are the owners of the code. The code is all copyright by them. They don't usually do maintenance of the code or working in the code but they are the the Guardians of the code.

They ensure that the work that is done in the code is done to be perfect quality and that from a legal standpoint we using the code Distributing The code abide by all the rules. As for the people who actually work on the code, there's a number of different ways that they interact with the source set. For example, New Ports can be added by any third party to the core set of tools. Renaissance When they come out with a new chip will contract out with a third party spatter.

Often it's us at Red Hat This is what we do for and they will ask to have a import added to the tool chain for a new process and we will work with them in the free software. Foundation put together report which is acceptable to both parties and add it to the P work. You can also add new features to the tools. For example, you may want to add cycle accuracy to an existing simulator you might want to add compatibility with another compiler.

To the compiler you may want to add Hardware support to the debugger. These extra features again get added into the pool. They work with the software that others have been writing over the years and they they extend the functionality so that everybody benefits from everybody's work. and and the third major way of adding is optimizations.

I Mentioned performance before. There are a lot of companies that do nothing but optimize these tools mostly for code generation, but also for the user experience. and they all work together to provide one tool chain that they all share. so each group does the part of the work that they're best.

AC Now on the other side of this, we have distributions and support packages. By Distributions I mean more than just a Linux distribution. I I mean if you get a a board from Reduce, it will come with the CD with all of the tools on it. Or you might buy a support package from Red that includes tools.

These are the distributions that I talk about and support packages. You might buy an annual support package from from Red Out comps. You might go to a third party consultant to have them support you in a particular way. You might find somebody who is willing to be on site with you as you bring a new tool up to Spe or bring more engine or new product out if You' got a deadline.

These are the kinds of support caps where people can draw from the FSS cool of software in order to provide these services and operating to customers. but you notice that the users of the software interact with all of these different parts of it the users can request New Ports They can fund new features in optimization. they can go directly to the FSF and and look for new bug fixes that they might need at 3:00 in the morning on a Sunday because they have to ship on Monday and there's support contract hasn't part that thing. Yes, it's happen before.
Uh, and they use of course the distributions and support so everybody works together and then and then lastly in this chain of invelopment, better develop Devel Eded Eded development is the standard free softare ID The Equips IDE is the standard for free software development because it supports everything highly customizable. You can do everything from Java to embedded to native to all sorts of weird things. You can integrate in third party applications into it. In this example, it's it's doing a RAC my lab using a piece of custom software that I wrote to download the code into the chip.

I integrated that in myself so that I can do my lab. And lastly on the Eded Development question. You hear a lot about companies these days releasing an IDE for your product and you ask questions about it And they say well it's based on but it's their proprietary product, they release it and they say here this is from us this is our IDE oh by the way is based on C right that work. How are they able to do that? Are they just from a legal standpoint or a technical standpoint I don't I guess maybe both.

but are they just doing all the hard lifting to get CD integrated in the question? The question is how do these third party vendors provide a their proprietary offerings based on if free software IDs And the answer to that is that in the free software World From from a legal and Technical standpoint, they Define well-known apis between the core product and the extensions and these apis are of course published and normally they would use these apis for their own free software extensions to the packages. but because the apis are well known and their intention is that you can attach other works to it using these apis as Communications channels then that allows third parties to have prize offerings which use the same apis the same Communications channels to extend these free software offerings in a PRI way. So it makes it easy for you to say you know we need any IDE for our product you take Eclipse you add your product to ship it up. granted you have to follow the rules you can't change Eclipse to include proprietary code and then ship That's against the rules, but you can add a PL in or have it called a proprietary function in which case the configuration parts, Cdts, and the scripts and the setups those are part of the those become free software.

But the things that they're calling the externally programs applications can remain licensed under whatever you terms you wish. And and we'll talk about licensing later because that's something that always Chang This approach I I Use the sear to the visual Studio. they have a tool there and we were a configuring anate there which was calling hii, compilers, linkers and all the and and HW does exactly the same thing. You integrate your tools into theirs using a well-known API usual editor in Microsoft was at that time not.
Oh, for those of you taking my lab L you'll get get a chance to try this and see if you like this anyway. So I mentioned the serial programing before. um I Think this is one of the strong points of Renaissance that they they document the protocol that the chips use, not the protocol further out on the other side of their their propri properties but the the core level protocol. So if you wanted to add your own way of talking through these chips, you have the ability to do so well.

It's not free software, it's it's an open. It's the free software philosophy that they're talking this. So before we any more questions on that before we get on to the next section. Excellent and mostly on time.

So the philosophy behind Free Sofware Now philosophy is kind of a touchy subject. A lot of people talk about free Sofware. Not all of them understand what it is. It is not a religion.

You do not have to go to the poor house because you have to give everything away. It's a set of core beliefs that can be leveraged to add value anywhere in your business plan through internal operations customer experience. Some of them are practical, some of them are less tangible, like dealing with Community Marketing Calvin knows all about this. and I'm going to break down into these five key points that I'll cover I can through some for philosophy sharing.

And when I was a kid my mom told me to share my toys didn't want to. She thought it was a good idea. Sharing is how you grow a community. Each one who knows help the ones who don't.

We want to grow our communities. Certainly from a business standpoint, you want to grow your customer Community Your partners your suppliers because the more people using your product, the more opportunity have profit. We all want a profit and in software it used to be that way long ago you buy a piece of cardware, they would give you the software because that was the only you use of Hardware until some companies realized that they could create an artificial scarcity in software, start charging money for the software itself and that worked for a while. But these days it's changing.

With the Advent to both the internet and the web, it become trivial to share and copy. Sofp the individual ones and zeros no longer have ining value. People can work together to add to the project to provide feedback to be part of the testing cycle so that instead of you know releasing your final release and then finding out that everything's broken because you didn't test it same, you're using it. Your users can get involved earlier.

Hope you avoid the dimension, returns, or testing. On the other hand, each participant must share responsibility and control for the project. And this is where a lot of people have problems with free software. Because they want to own the software, they want to be in charge, They want to be the top do free software.
The mindset is that you work with other people to add to the software package. You don't own it, you work together. On the other hand, the people who use the software are expected to help with it. They want you to give back a little bit if you go and download piece of software and you've got a way that could be a little bit better, you're expected to provide that feedback to the oral Pro so that you can help grow this package that you got for free community.

The community aspect is another intangible this thing it's hard to justify this is there's no direct Revenue stream involved in community, but a lot of companies are growing. their Community Renaissance C is putting a lot of effort into growing their Community with Bruce University Bruce rules and all their other community programs. The basicness of the worldwide web certainly made this easy and it's become expected of companies to have an online presence where they interact with their community and they share ideas in their community. members will help each other.

You can make a business case for this where your customers become more loyal to you and more likely to choose your Produ products because they can talk to other people for using them. On the other hand, your growing pains are public. If you make a mistake, you have to be willing to say I'm sorry it. Move on.

The more you involve your community early on, the more they're going to see the problems early on. They can help you with it. You need to let them help you grow your products. You have to involve the.

the free Software motto is release early and release often. We might have four or five alphas and then a whole series of betas before you finally get the One release. That's the final release. the most other companies would be the own releas and then we follow it on with bug fix releases.

many of them Why? Because we want to get the right stuff out of their customers as soon as possible so that they can help us provide feedback we want to turn around. We want really fast turnaround and the free Software philosophy. IS F Now support is where the revenue usually becomes more tangible. Red Hat Certainly focuses primarily on support.

It makes most of their money from support packages. We do not sell software. We give the software out as part of a support package. The support aspects of of free software I don't just mean fixing bugs.

This is where you profit. How do you profit from free software, not volume for Star I I First joined the Direct. It's part of Sign one of the Direct Acquisitions and our motto was we we sell free software. Where do we make our money Vol But seriously, we make money with support packages.
Um, how do you? How do you do that? Well, if you know more about your product then people will pay you to teach them about your product. But support means more than that. There's other groups working with you to provide training and to provide packaging. cap.

C For example, puts a lot of effort into packaging with new tools such that they get customers get a good user experience with it. Um, Also, there doesn't need to be a central offer for any given package. There certainly is a central Authority The new tools that responsibility is share. People who contribute a specific feature are people that you can go to to ask questions about it in public forums and business to business opportunities.

It become the standard way of dealing with these support issues. Going online and saying hey, you wrote this, there's got a bug, How do you fix it or even better, hey, you wrote this, There's a bug I've fixed it and and the thing you need to understand is that the value in youire becomes the support. The ones and zeros do not have intrinsic value anymore. they're just data.

They're I won't say worthless, but it's so trivial to copy them that there's no there's no hard value in them like they would be Hardware product. So you focus on your core competencies. the intellectual property that you have now is your intellect, The people that work for you, your history, your relationships with other customers. It's that type of information that you have that is valuable, your people's skills and other your customers and other people will pay you to be there for them when they need.

You provide training materials to go on. S teach them to fix bugs to answer the phone at 3:00 in the morning because they never release the next morning. I've been there this part of the preparation for death P Many all nighters waiting up in case Renaissance have problems with their pilot Rols and we would respond within hours because that's what they needed and we knew how to do it and they needed that level of support. They provided it and in.

And the other key part is to understand that all these other parties who are providing support for your product as well are not competitors. They are complimenting your offerings people look at at Red Hat versus C coming and they say, aren't you people competitiv No, we're not competitiv. We're both working together provide some different levels of support to customers for the same course. Now license and license.

in are two different things. The license refers to the software. Licensing refers to your business practices I'll cover those separately unless somebody wants to ask questions about what I've already covered. So now the Softw license give gives freedoms to others, but it also prevents users from denying those freedoms to others.

So if you give your customers a piece of software, they can do what they want. They pass it along the next person. That's what they will. The software never becomes less free.
I Like to call this freedom for the software, not freedom for the users. The users can't do do anything they want because they can't rescript others. The software is the part that we need to scree. And of course, there's no worries about unauthorized poy.

How do you pirate something that you're legally entitled to give to other people like I've got an illegal copy of this? No. If you have a copy, it's a legal copy. Granted, there may be issues with illegal distribution of free software. If you distribute a binary and don't offer sources, then legally you have lost your ability to distribute the software.

But the people who have your software still have all the rights that they started with. Of course, they have to fight your court to get the sources, but the whole issue with piracy just doesn't exist. Community Driven Extensions and enhancements are allowed. if not encouraged by the license.

They want you to do more with the product to extend it to add your value to it to do Innovative new things with this package that the original office may not have intended or expected or even thought possible. Security: B Obscurity is no longer an option. The license requires that your user be able to look at your algorithms and see if they're secure enough for their purposes. If you like, get away with shipping that little piece of security software that almost works, but not quite, We have to get it out anyway and hopefully nobody will see it.

Think again, you not have to be secure by really good design. and and this is the hard part for people to wrap their heads around it. There's no such thing as software intellectual property. Granted, there is software IP from an Eagle standpoint and many companies do have this.

from the free software point of view, the intellectual property is not the ones and zeros. There's no intrinsic value in something that can be copied for no cost. The intrinsic values and the things that can't be copied. The people, the experience, the history, the relationships, and the license game.

The flip side of this, since the license is different. The licensing practices are different and from a business standpoint, it simplifies your business model. There are no activation feys. There's no per seat fees.

You don't have to worry about how many people are going to be using the software when you go a company. The real issue is how many questions are you going to ask. You need to be able to ask these questions outside of home business Offs: Are you having a lot of troubl? Do you need somebody on? Su The interactions are where you worry about heading outs and things like that, but you don't have to worry about them making another copy or another. PC All that whole policing thing goes away.
There's no licensing Doles You have to worry about there's no no block PCS You won't have customer who had their Ethernet card broke and they had to put new one in and suddenly their cab software isn't work anymore the day before release. That's happened to me before. How many people have had their software suddenly stop working with licensing issues? Yeah. I See a lot of hands going up.

Free software doesn't happen. On the other hand, licensing is no longer a revenue stream. You can't charge for the software because it's the right to copy. You have to put the value in the people behind the software, the values and the support packages, the packaging, the the community that goes with it, and all of those other things.

On the other hand, because you can offer different levels of support, you can attract smaller customers. Customer producing a $40 device is not going to be able to pay $110,000 for for a Medi package for for a full support package. Maybe they just need the free software and they need a leasts worth of three questions. And they buy the small support package.

and finally it allows for an unlimited try before you buy how many people have written something using evaluation copy of the software only to find out 30 days later just before the release that it doesn't work anymore. Yeah, a lot of hands go up with free software. You can give them the full version up front and if they like it they just keep using it. If they have problems with it.

they buy some packages and there are many online resources for you which are part of the presentation and certainly the web will find you many resources. On to further extend your experience with Fre software. Any questions on the free software philosophy? This is usually where get the license. Uh yeah uh.

Can you clarify the GP versus Lgpl? The Lgpl also known as the Lesser General Public license is designed for libraries and packages that have other Alternatives that aren't free and it allows you to replace a proprietory package with an equivalent free package without having to open up your whole application. You if you use an Lgpl Library the part of your project that has to be released at source is just that Library not the whole, the rest of it. You You still have to provide a means for your customers to link a modified version of library in with the rest of your offering, but you don't have to provide sources to your rest of your providing a large object sufficient. They use that as a means to get free software to places where a proprietory object already exists and they're simply trying to replace it and there's no real value in new software.

The GPL is used in cases where the software is not is not replacing, but if it is better than some other op. for example, GCC is GPL because it has so much more that they feel that the the extra pieces of the software are sufficient to Warrant the GPL and the Google platform okay, uses the uh Linux BL stat BL Z which is GPL not GPL but good Google got WR with it using the DBS. Can you comment on that when you have a well-known API that talks between moduls and I mentioned this when I talked about Eclipse. The API provides a way of separating from legal standpoint: one work from another work from one domain to another.
right? So so the legal scope is the scope of a work. If you have two pieces that you've combined together to produce one work and they're Inseparable. they won't work without legally. They are one final product.

If you have two pieces that could work that don't have to, they just talking like like if you use a web browser to talk to a website, your web browser your web server are not one piece of software. They're two things that talk. So by using debuffs, they have taken a well-known API to have two independent Works communicating with each other. so they have independent licenses.

Anything else? Wow. I usually get like an hours worth of questions. Isues are there any mechanical design packages being worked on? You know something that there are some? Um, Mechanical Cat is one of those interesting Fields where there's so many special things you have to do. It's very difficult to be proprietory, but there are some.

There's probably many varying levels of comment and question. I Think one of my favorite free softare factors is in the lamp. Maybe you didn't mention it, but it's just our business is Mozilla Yes, from Mozilla so many SE bug it's probably the best. It's AR the best bug.

sofware it's and it's very. It's very customiz My favorite free software at the moment is Cate fre they eventually released to them the free software license. Well yeah, it's not part of our business. All right, that's all the time we have I'm sorry I'll be available after this for further questions.

Thank you for attending another.

Avatar photo

By YTB

5 thoughts on “Eevblog #125 – soup to nuts with free software”
  1. Avataaar/Circle Created with python_avatars The Kaiser says:

    An American??!!

  2. Avataaar/Circle Created with python_avatars Ivan V says:

    @cyberjunky It's UNIX man, it is easier to do some ports to Mac OS than it is to Windows.

  3. Avataaar/Circle Created with python_avatars DJ Delorie says:

    cyberjunky: They put the wrong presentation on the laptop; the one I had was the one they sent me with a filler page there – mine (the correct one) had a different slide there. I have the correct one online at delorie.com/electronics/rulz/

  4. Avataaar/Circle Created with python_avatars 0000mastermind says:

    nice vid….hey dave can you do a tear down on a house amplifier?? And some more digital multimeters like the yokogawas, hioki and the new uni-t>>?? You did american, german and el cheapos from china, lets see what the japanese can do. keep up the good work.

  5. Avataaar/Circle Created with python_avatars Guðmundur Einarsson says:

    Thanks Dave that was a grate lecture. Answered some questions I had after the interview you had with DJ. Thanks for all your vids they are grate.

Leave a Reply

Your email address will not be published. Required fields are marked *