Keeping an open source project going for 27 years
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 39 | |
Author | ||
Contributors | ||
License | CC Attribution 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/67239 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSS Backstage 20227 / 39
2
9
11
15
26
30
36
37
00:00
Open sourceLevel (video gaming)Physical systemOperations researchInstallation artComputerDensity of statesWebsiteSoftwareOpen sourceTouchscreenInformationCoordinate systemFreewareDot productXMLComputer animation
00:44
Density of statesComputer programmingOperating systemBefehlsprozessorType theoryNeuroinformatikFinite differencePhysical systemPower (physics)Multiplication signIBM PC
02:31
Hardy spaceFreewareTime zoneDensity of statesProcess (computing)Multiplication signCartesian coordinate systemData acquisitionCloningAsynchronous Transfer ModeSpreadsheetPhysicalismTraffic reportingSocial classRight angleTextsystemTouchscreenPhysical systemUniverse (mathematics)ModemHand fanStudent's t-testSystem programmingWindowDialectComputer animationDiagram
04:57
File viewerComputer configurationNetwork topologyPhysical systemStudent's t-testHand fanMultiplication signWindowDensity of statesComputer programmingCartesian coordinate systemRevision controlNeuroinformatikBootingDemo (music)TouchscreenComputer animationProgram flowchart
07:32
Density of statesFloppy diskDuality (mathematics)Source codeNeuroinformatikSystem programmingTheory of everythingDistribution (mathematics)Term (mathematics)Turing-MaschinePhysical systemSpreadsheetSoftwareTextsystemTouchscreenOperating systemComputer programmingOpen sourceBootingCartesian coordinate systemProgrammer (hardware)Water vaporOperator (mathematics)
09:56
Density of statesTime domainRevision controlStatement (computer science)Task (computing)Local GroupEmailDirected setComputer fontVacuumTelecommunicationIntegrated development environmentRule of inferenceElectronic mailing listSpeech synthesisLink (knot theory)Orientation (vector space)GenderIdentity managementSoftware developerTelecommunicationPhysical systemOperator (mathematics)Open sourceSoftwareFreewareEmailMultiplication signDensity of statesRule of inferenceFood energyInternet forumTouch typingOpen setCoordinate systemWeb page1 (number)MereologyTerm (mathematics)Electronic mailing listKernel (computing)Device driverFile archiverDifferent (Kate Ryan album)QuicksortWeb 2.0Bulletin board systemInternetworkingPoint (geometry)Public domainCodeHydraulic jumpWindowWordClassical physicsBitNumberDomain nameRight angleComputer networkLevel (video gaming)MathematicsRevision controlTheoryTouchscreenGroup actionOperating systemKey (cryptography)Source codeComputer configurationCartesian coordinate systemVacuumComputer animation
17:46
FreewareIntegrated development environmentRule of inferenceElectronic mailing listSpeech synthesisLocal GroupDensity of statesGroup actionLink (knot theory)Identity managementOrientation (vector space)GenderWebsiteSocial softwareExplosionBranch (computer science)CodeData structureNormed vector spaceBootingProgrammer (hardware)Physical systemWritingGNU <Software>Task (computing)Student's t-testSoftwareProgrammable read-only memorySoftware testingSoftware bugSoftware developerEvent horizonSelf-organizationAreaTranslation (relic)WebsiteKey (cryptography)Source codeSpecial unitary groupComputer fileWeb 2.0SoftwareProof theoryMultiplication signInformationBitDifferent (Kate Ryan album)Right angleProcess (computing)NumberComputer programmingElectronic mailing listEmailFile archiverSystem programmingInternetworkingCoordinate systemData managementOpen sourceSoftware developerFile Transfer ProtocolFormal languageTranslation (relic)Message passingSoftware testingUniverse (mathematics)Patch (Unix)CodeType theoryDensity of statesPhysical systemSoftware bugLattice (order)Programmer (hardware)Goodness of fitDot productSlide rulePoint (geometry)FreewareComputer animation
25:36
Address spaceInternet service providerEmailVideoconferencingSlide ruleElectronic mailing listMultiplication sign
26:28
QuicksortProgrammer (hardware)Key (cryptography)Multiplication signEmailAddress spaceTelecommunicationComputer programming
27:49
TelecommunicationGreatest elementRight angleRule of inferenceCausalitySoftware developerRevision controlSpacetimeForm (programming)Different (Kate Ryan album)EmailLevel (video gaming)Web 2.0File archiverElectronic mailing listSymbol tableInternationalization and localizationCodeData conversionProgrammer (hardware)SoftwareString (computer science)Open sourceWritingComputer-assisted translationLibrary (computing)Program codeQuicksortBoss CorporationUniverse (mathematics)Computer programmingPoint (geometry)Message passingDemonMultiplication signGroup actionCASE <Informatik>Field (computer science)Student's t-testSoftware testingBuildingMathematicsThermal conductivityData miningMedical imagingFunctional (mathematics)Goodness of fitExtreme programmingMeeting/Interview
34:48
Open setOpen sourceComputer animation
Transcript: English(auto-generated)
00:04
Hi, everyone. My name is Jim Hall, and thanks for attending my talk today about keeping an open-source software project going for 27 years. I guess really the subtitle of this talk is really about how we engage our community and how we engage those who are following the Free Dots project.
00:23
As I said, I'm Jim Hall. I'm the founder and I'm the project coordinator for the Free Dots project. You can see my contact information here on the screen. If you want to reach out to me afterwards, I'm happy to respond to e-mail. You can also visit our website at freedots.org, and of course, I'll be answering
00:41
questions after the talk as well. Anyway, let's talk about what is DOS? Some of you might not know what DOS is. DOS is this really simple operating system. It dates back to 1981. My first computer was actually in Apple II, which ran a different operating system,
01:00
and that was from the late 1970s. That's where I taught myself about programming. We programmed in BASIC back then. When the IBM PC came out in 1981, I realized it was really a more powerful kind of desktop computer than what we had on the Apple computer.
01:23
DOS was very much a command line operating system. You could mix your commands together using these pipes and redirections. I didn't know about Unix at the time, but the command line on DOS, it's not miles away certainly from what we think of as Unix.
01:41
That meant you could run a command on the command line. You could pipe that command into another command that would then do something else. Stacking these commands together made the command line more powerful, certainly more powerful than what we had on the Apple II, which really was just there to run BASIC programs.
02:01
With DOS, I actually learned how to write my own programs that would extend the DOS command line and make it do more stuff. By the way, over here, we're seeing an IBM PC AT. Our first IBM PC that we had at home was the actual IBM PC 5150, and then we upgraded to an IBM PC XT,
02:20
and then this is the IBM PC AT, which had a 286 CPU in it. After that, they stopped using the PC name. Anyway, the rest of DOS definitely had that command line mode, but the rest of it, the real draw was really the applications, these DOS applications. When we think about DOS applications,
02:42
we really think about applications running in what's called character mode. It's text mode. That's what you're seeing here on the screen. This is a screenshot from a spreadsheet program called AsEasyAs. It was essentially a clone of a really popular spreadsheet application called Lotus 1, 2, 3.
03:04
By the way, back in the 1980s and even in the 1990s, if you had Lotus 1, 2, 3 on your resume, you could pretty much guarantee yourself a job. But Lotus 1, 2, 3, being as easy as being basically a clone of it, it's actually where it got its name because
03:20
it's as easy as 1, 2, 3. Anyway, the fact that these applications were so powerful, at least certainly for the time, 1980s into the 1990s, it was a really big deal. While DOS had that really neat command line that I was talking about that lets you do different things on the command line,
03:42
piping these commands from one to another, DOS was, I would say, primarily a system that would really let you run the applications. You'd probably stay in a DOS application for a long time. So you ask anybody who was a DOS user in the 1980s into the 1990s, they probably are gonna associate themselves more with certain DOS applications
04:03
than they are with probably the command line itself. And that's certainly how I used it at the time. I definitely use a lot of DOS applications. When I went to university as a physics student in 1990, I essentially lived in this spreadsheet that you see up on the screen.
04:21
I would use it to analyze my lab data, for example, in my physics classes. And I used, obviously, a word processor to write my lab reports, to write my class papers. And I had a few other applications to do some other things like, for example, dialing into the modem pool at the university so I could connect to our Unix systems
04:42
that we had there or our VAX systems. I was a real, yeah, I would say really a DOS fan, right? I mean, I liked the DOS command line and I, of course, really found those applications to be really powerful. And yeah, we had Windows too, right? So, you know, Windows was very primitive though
05:01
back in the 1980s and early 1990s. Windows 1, you know, anybody who remembers it, it was basically vaporware. It didn't really do much more than a demo of what Windows might be. And it didn't let you even do basic things like have these overlapping windows. You know, Windows 2 was much better. It was still unreliable though.
05:21
And it was still very, very slow. And at least nobody used Windows 2, at least nobody I knew of. And it really wasn't until Windows 3.0 and 3.1, which is what we're seeing on screen, that people really started to take, you know, this Windows thing, you know, more seriously. But again, the problem was it was still slow,
05:41
it was still unreliable. And if a Windows program crashed or misbehaved, you probably are gonna end up rebooting your entire system just to fix the problem caused by that one application. So as you might guess, I wasn't really a Windows fan at the time. I just didn't like how Windows was progressing.
06:00
And I didn't like the version of Windows that we were using back then in the early 1990s. And instead I did everything in DOS. I just lived, as I said, lived at the command line. I mentioned, I wrote my own DOS tools that would extend the DOS command line and make the DOS command line more powerful
06:20
and at the same time easier for me to use. You know, and some of the commands that I wrote also even replaced the DOS commands that were provided by DOS, right? So I was basically building my own version of DOS kind of as I went. And that was kind of the perfect storm because back in 1994, early 1994,
06:41
I started to read these tech magazine interviews where Microsoft said that they're gonna do away with DOS, right? The next version of Windows wouldn't use DOS at all. Cause the way that the Windows ran at the time was you'd boot DOS on your computer and then you would run Windows on top of it. And so they said the next version of Windows
07:00
isn't gonna use DOS, DOS is gonna go away. And I figured, you know, if Windows 3.2 or four, whatever they're gonna call it was anything like, you know, what we're seeing on the screen here, Windows 3.1, I'd rather keep using DOS. And I liked DOS better anyway,
07:20
but you know, I'm an undergraduate student. And so the question is, how do you go about, you know, keeping DOS if they're gonna get rid of DOS? Well, a year before I learned about this little operating system, you probably have heard about this operating system called Linux. And it was just like the big Unix systems
07:42
that we had at our university computer lab. But it was free. That was the important thing. It was free software. We're not just free as a no cost because I certainly paid somebody to get a copy of it. But it meant that it had a license that anybody could then use that operating system and look at the source code. And then of course it also meant that I could run it on my computer at home.
08:01
That was the great thing about Linux is I could run it on my PC at home when I was also running DOS. And in fact, I set it up so that my computer would dual boot into Linux when I wanted to run Linux, and it would dual boot into DOS. Because back then the issue was that, you know, Linux just didn't have a lot of applications. It certainly didn't have a spreadsheet or a word processor.
08:21
And so I'd do certain things in Linux, but I'd end up booting back into DOS for some other things. And I paid somebody, I think it was like $99 to make copies of a stack of floppy disks, right? Three and a half inch floppies of a Linux distribution, distribution was a new term back then, Linux distribution called soft landing systems.
08:42
That was SLS Linux, if anybody out there remembers that. And it advertised itself as a Linux for DOS bailouts. This is 1993. And I figured that was probably the one for me, right? I'm gonna dip my toes in the Linux waters. That's probably the one I'm probably gonna go with. And it ran really well, right?
09:02
You can see on screen here, it ran really well. And I was impressed at how well it was put together. And of course, as I said before, it was open source, right, I could look at the source code for these programs and in the Linux system, I could learn how it worked. And that meant that I could, you know, learn from them to make my own programs even better.
09:24
And I realized that Linux worked the way that it did because a bunch of programmers from around the world came together and shared source code. And by doing that, they made this Linux thing happen.
09:41
And I figured, you know, if somebody could do something like that with, you know, something as complicated as a Unix system, surely we could do something, you know, similar with a simpler operating system like DOS. And so that's where I kind of came in. I said, okay, I made this post on Usenet, actually not even this one, actually before this one,
10:01
I made a different post on Usenet. Usenet, by the way, was a, if you're not familiar with it, it was kind of a bulletin board or like a forum back in the 1990s. And I asked on this one group, you know, if anybody was working on sort of a free software DOS system, kind of like what they did with Linux.
10:22
And the short version, you know, of the answers that I got was that, yeah, nobody's doing that, but that's a really good idea. And you should do that. So that's what I did. So I made this announcement, you see up on screen, in June 29, 1994, to create a new open source DOS system.
10:42
And at the time I called it PD-DOS. And that was because I didn't really understand back in 1994, what the difference was between public domain and free software, right? If you're giving away the source code, I thought that was public domain. So it wasn't until like a week or two later that people really explained the difference to me,
11:01
what public domain and free software was. And so we changed the name after that, after the first couple of weeks to a free DOS. And that's where the name stuck. And I don't have time to kind of go over the whole story about how free DOS grew. So I'm just gonna jump ahead to kind of what keeps the free DOS project going,
11:21
what helps us to grow and what keeps this DOS operating system, which became irrelevant when you look at it, became irrelevant in 1995 when Microsoft released Windows 95, DOS kind of stopped being a thing. And in fact, even Microsoft stopped selling it like five years later in 2000. And what keeps this community going,
11:44
running this classic operating system? And I would say the first lesson in our community is that communication can't happen in a vacuum, right? You need to communicate about what you're doing and what you're thinking and about what's going on.
12:02
And you can't keep things a secret, right? If you try to keep secrets, your project is going to die. And the reason is because people get interested in your project because they can see what's going on. And then they get an idea about what you're trying to do with it. And then some people are gonna think, that's cool.
12:23
I'd like to see that. And they're gonna have some other people that are gonna say, and I'm gonna help. And so communication is your key, right? You need to communicate to coordinate. You need to talk about what you're planning to do. If you're planning to make a change,
12:44
even at the planning stages, you need to be talking about it. Once you start making a change, you need to be talking about it, right? Communication is key for coordination. You need to keep everybody on the same page and that way nobody gets lost. And then more importantly, I would say,
13:01
no one's gonna feel left out. That's probably the second rule here, right? Everyone needs to find their place in an open source software project. If you want that project to grow, they need to feel like they're part of that project and not just along for the ride somehow.
13:21
And so some people have this idea of like the lone coder who's out there and they just like sit on their own and they write a system by themselves. And I can tell you, nobody really does that, right? I mean, in theory, yeah, somebody could do that, but in terms of keeping a project going, that doesn't work.
13:41
Because it's really hard to keep a project going if you only have one person working on it. When you're just one person, right? You're limited by how much time and energy you have, right, and it's gonna probably be okay for a little while but as soon as you go on vacation, as soon as you get busy at work or for whatever reason,
14:02
you need to stop working on the project even for a little bit, and that project will probably just stall out. So you need to communicate to coordinate. You need to have other people involved and you can only have that happen if you're communicating with each other. And when we started the Free House Project back at 1994,
14:20
we used Usenet, right, that forum system I mentioned, that bulletin board system to keep in touch with each other. You can always go back actually into the Usenet archives. You can look at the stuff that we were writing and talking about and kind of watch how Free House grew in those early days. And eventually we set up a mailing list, right, an email list,
14:40
and that made things a lot easier to coordinate because now we suddenly had our own channel that was dedicated just to Free House where we could communicate about what we were all doing, right, we set up a few different email lists at the time. We had one for people who were just developing Free House, right, and another one for people
15:00
who are just sort of using Free House, right, people who just wanted to ask questions. And you didn't need to be a developer. The great thing about this is you didn't need to be a developer to ask questions, right, there's a mailing list for that, an email list for that. You wanna ask questions, you're trying to run an application, you're getting some sort of compatibility problem or something that looks like a compatibility problem,
15:21
where do you go? You don't have to go and join the developer list where people are talking about debugging code or writing kernel stuff or writing drivers. You can join this user list, you can ask your questions there. And then anybody who's on that list can answer your question, right? It's not just developers that are answering your question, it's everybody. And so we're involving everybody at this point.
15:41
And of course, there's also an email archive, right? So there's a list archive. So if you wanna see what we're talking about, you could go and read the list and see. You don't need to join the email list just to kind of follow along. So if you just wanna kind of a casual lurker, what we call that, right? You can just follow the list archive.
16:01
You don't actually have to join the email list. And of course, these days, you've got other options, right? You probably are gonna set up a new open source software project. You're probably gonna use a web forum somewhere. And there's lots of different web forum packages you can use, something that lets people make posts. That's pretty key.
16:20
People can reply to those posts and others can just read those posts that they don't wanna contribute. They just wanna follow along with what's happening, right? People certainly need to be able to read those posts. And that's really the basics of a web forum, right? And a lot of open source projects use some kind of a web forum to communicate.
16:41
I suppose even these days, you could probably use something like Slack. I'm not gonna get into the politics of using Slack, it's open source software versus not for a forum. But basically, you can think of Slack as another kind of a forum. But the real key here, I think the key takeaway
17:00
is that you need to have a place where people can talk about things, right? You need to be able to talk about it in the open. But of course, this is the internet, right? So the internet means, not everyone's gonna play nicely on the internet. So you need to set up some ground rules. And we have some ground rules as well. If you're gonna have a healthy community,
17:22
I think it's very important that you have ground rules of some kind. And this is something that a lot of open source projects today kind of forget the need to do. We've always had ground rules for our email list. As far back as I can remember, we may have reworded them over time, took the wording a little bit here and there, but they're still basically the same three rules
17:42
we've always had, right? Number one, don't swear, right? Keep it nice, we're trying to be respectful. And then number two, no spamming, right? So we need to make sure we're keeping this on topic. If you try to spam the list, we'll probably remove you from the list. And then no flame wars, right? So you need to keep it respectful. The whole thing is here
18:00
to make sure we're maintaining respect for each other. Because if you really disagree with somebody, well, you either need to let it go because someone will always be wrong on the internet, or you need to take that off list, right? Don't be mean in public. Don't bring us down on the email lists. You also, by the way, need to have a website.
18:21
And I probably should talk about that earlier, but you definitely need to have a website for your project. And when we started Free Dots in 1994, the web didn't really exist yet, right? There were a couple of websites out there, but the web is gen... When you look back, the web kind of really started back in 1995.
18:42
So yeah, when we started back in 1994, the web wasn't really a thing yet, but we still needed a place to share files. So if you go back and look at what we were doing back in 1994, we had something that was called an FTP server. It was called a File Transfer Protocol. And very nice people at this place called SunSite,
19:04
which is hosted by the University of North Carolina. Today, it's called iBiblio. They let us use their system. So we got to, they let us use their FTP server. And SunSite, if you're... Was the system, was one of the few popular Linux systems back then.
19:22
And so if you wanted to download Linux programs and source code or whatever, SunSite was one of the few sites out there that had archives of these different programs. And SunSite actually was an archive for a lot of different things. And so it kind of made some sense that we would have FreeDots there,
19:40
or they were sorting already a bunch of other stuff from the internet. And as I say, FreeDots was actually kind of one of the first websites. There's a Hannibal... I'm not saying it was the first website. And it's not even one of the first 10 or anything, but it was certainly one of the earlier websites. Hannibal Toll was the project manager,
20:01
project coordinator at the time for FreeDots because I'd stepped away briefly when I started my first job. And he set up our first website back in 1995. And these days, if you're gonna start up a new open source software project, you certainly need a website. And a friend of mine gave me this great advice that I've carried with me ever since.
20:21
And that is a website... A website is more important than a great website. The key is that your website needs to make it easy for people to find out what's going on with your project. What is your project about? What's going on? And they can download new files.
20:41
They need to be able to report bugs and join a discussion. And of course you need to have documentation out there too. And I'd rather you have a decent website than spending a whole bunch of time making this beautiful website, this great website. As long as it's clean, as long as it's clear, that's really what matters, right? So don't worry about making it all fancy.
21:01
A website is better than a beautiful website. I mean, if you want proof, you can go and look at the FreeDots website. I'll admit that our website is looking a little dated. The design that we use in the FreeDots website probably looked great eight years ago when I last updated that site. But today in 2022, it's just there to do the job.
21:21
I am working on a new website design, but it's a little slow because the most important thing here is that people need to find information. And so I'm just trying to be deliberate about improving it. But it kind of goes back to this other quote that I like which is that you shouldn't make a beautiful impediment to understanding. A website needs to be functional first
21:41
and you can make it look pretty later on. And of course, a really important thing I need to mention about open source projects is that people need to be able to see the code, right? So it's not really open source if you can't see the code and so you can share your source code in a bunch of different ways and I'll spend only a little bit of time on here
22:00
because I'm sure lots of other people at the conference are gonna be talking about source code, but find a way for people to be able to share source code, right? So whether you're using SourceForge or GitLab or GitHub, you need to have a way for people to access
22:21
the source code. And more importantly, be able to make contributions to the source code. You need to be open, by the way, you need to be open to those contributions when people come back with a patch or an update or a bug fix, right? You need to be responding to them. And I also could go on by the way about picking a nice open source license, but I'll just kind of quickly just say,
22:43
make sure you spend some time and attention in picking a good open source license. I would actually encourage anybody out there who's starting a new project to go and look at the open source initiative. They maintain a really great list of just a ton of open source licenses. And I would say they're all good. Some of them though are better
23:01
for certain types of things. They have certain types of goals. The most popular license out there are probably the MIT license, the BSD license, the GNU GPL license, and Apache. But as long as you've got a license that's open source, I would say that's the most important thing.
23:22
And then a really key thing here is that you need to make it easy for people to contribute, right? You used to think about, we used to think about open source projects as being all about developers, developers, developers, right? But these days you've got other people who want to contribute.
23:41
You've got developers, certainly, but you also have translators, right? People who, I don't, maybe I don't have the ability to write code, but I can speak two languages and I can speak your language and my language. And so I can translate your program messages into another language. You've got tech writers, people who are really good at writing documentation,
24:03
testers, designers, right? The list goes on. Different people who are interested in doing different things. And that's the way that they want to contribute. So you need to make avenues for people to contribute. People don't always know what they want to do, but they want to do something. And so it's a good idea to have something out there
24:25
that people can kind of use as a starting point for what to work on, right? So in fact, for the Fritas projects, we broke up our contribution list and we just knew a couple of different sub lists we had. Like if you're a non-programmer,
24:40
if you don't write any code at all, you can do these things, right? You can do testing, you can do writing documentation. If you've got some programming skills or maybe not a lot, we've got another list for you, right? So different things you might work on as a beginning programmer. You've got a little bit more skill than that. We've got some other projects you might work on. And if you're an experienced DOS programmer,
25:02
which is kind of a specialty skill, then we've got a list of some really more complicated stuff that you might work on that we'd like to see happen in Fritas or needs fixing in Fritas, right? Whatever, right? But the important thing here is that you need to make it easy for people to join
25:21
and you need to make it easy for people to get started, right? How do they contribute? Because you can't grow if you don't let people join and do stuff with you. And I know I can go on about all kinds of other stuff about, in fact, I had another slide here about finding other ways to communicate where it's not just about email lists,
25:43
but also we've started doing, this is intentionally blurred out, so you're not losing your eyesight. This is intentionally blurred out. Or we do these get-togethers every month. In fact, we've got one coming up on Sunday where if you wanna just hang out in a video chat, we provide other ways for people to kind of get to know each other as more than just somebody
26:01
on the other end of an email address. So find other ways to engage community. Find other ways for people to communicate with one another. It's not replacing an email list by any stretch. We still will bring stuff that we discuss on this back to the email list for people who aren't there, but sometimes it's just nice to get together
26:20
and talk on video rather than have to rely on everything being done through email. So I realize I'm kind of running out of time here. So I'm just like, as I said, I could go on for a long amount of time here about different things that we have done in Fridas across these 27 years about keeping this project going and making it interesting. But I would say that the keys,
26:41
sort of the takeaways are communication is key and you need to make it easy for other people to join. And once you've got those, you're probably doing okay. And then the rest is probably gonna follow on its own anyway. Anyway, I'm pretty much at time. So I'm gonna go ahead and pause now and we'll go to questions.
27:01
And if we run out of time here, there's gonna be a chat elsewhere that you can also join us. Or as I said, you can also email me and there's my email address. So I'm gonna go ahead and stop there and see if we have any questions. Thank you very much, Jim. Thanks for your talk. I really enjoyed it. Starting off with like a history lesson, if you like.
27:21
And then going over, I think many topics that I recognize and I really appreciated you mentioning the non-code contributions, I think. Especially if myself not being an amazing program on myself and non-code contributions is what I do. And so, yeah, I think it's really important.
27:43
And so, yeah, thanks for bringing that up as well. And we indeed have a few questions that we can have a look into. I think we'll start with this one first. Someone says, I've never heard the history and symbolism of your whale logo.
28:01
What is it? Yeah, so our mascot is, I can't remember when we created that mascot, but for a long time, I wanted to have a mascot. And the short version of the story is, I always wanted to have a mascot. I thought a mascot was kind of cool. Gnu had their Gnu, Linux had the penguin,
28:21
BSD had their demon. And I thought it'd be kind of cool to have a mascot. I actually thought at one point we might do like a seal because it'd be kind of cool to have like the Fridas seal sitting next to the Linux penguin. But there was a graphical desktop for Fridas called Seal. So we didn't want to steal their possible mascot.
28:40
So we actually went with a fish. So it looks like a whale because he doesn't any gills, but he also doesn't have blow holes. So he has neither a fish nor a whale, but he's actually supposed to be a fish. And somebody contributed the fish design and I really liked it. And so this is by a guy, a designer called Bas Snabeli.
29:00
That's how he contributed to Fridas was making this outstanding sort of cartoon image. And it's been with us for a long, long time. And I really, I really do like it. So it's one of those other examples of other ways that people can contribute to an open source project. Yeah, yeah, thank you. And then the next question is,
29:20
how do you attract new contributors? I mean, you talked about this, but especially in the long run, I mean, 27 years is an extreme case, I'd say, but yeah, what is the secret? You know, I think making these on-ramps, you know, as I kind of mentioned, and a friend of mine also uses this terminology of creating scaffolding, right?
29:40
So it's important to have when you're, you know, doing work on a building, let's say like on a wall, you build the scaffolding that helps you to get up to the top, right? That's the goal. You need to get up to the top, but you need to have scaffolding at the bottom so people can get onto the next level, right? You need to be more and build more stuff on there. So basically to be able to build these, the scaffolding,
30:01
you need to have lots of stuff happening or open or available to people at kind of the lowest level. You need to add more stuff on top of that. And so, you know, it was a really big deal for us when we had this ability to have these, these couple of different lists, you know, if you don't write any program code at all,
30:20
if you're not a programmer, we've got stuff for you to do that you can try to, that will actually help out FreeDos. And, you know, people will try to contribute according to their strengths. And we will give them these different levels of scaffolding, depending on what kind of skill level they have, but in what interest they have, you know, we have people who are very interested in translating
30:42
because that's their passion. And so people will translate what's going on in FreeDos. And we have an internationalization library. It's very similar to the cat get S function on Unix, or I guess get string is the one. And the people will translate those messages. That way it's not just a program that's written in English
31:03
for other English speakers, but now it can be, you know, used by people who don't speak any English at all. And they speak Polish, Italian, French, Spanish, whatever, right? So, you know, other people really are interested in writing documentation. And it used to be a cliche, right?
31:21
If you don't write code, you can write documentation. Well, there's actually a lot of people out there that want to write documentation. In fact, I'll bet if anybody out there reaches out to their local university and their tech writing department, you will find people who would be totally interested in writing documentation. In fact, I am an advisor and an instructor at a university here in our tech writing department.
31:43
And we have graduate students that would love an opportunity to write documentation for open source software projects. So by the way, if anybody out there wants better documentation, email me and I'd be happy to connect you up with any of our students that are interested. But it's always about finding new ways for people to contribute, right?
32:00
If it's always about writing code, you're only gonna attract a very narrow audience. But if it's code plus design plus documentation plus testing plus whatever, right? You're widening the field. You're making it available to a much wider audience and just sort of the narrow audience of just developers.
32:21
Okay, thank you. And I think we have time for one last question before I send you over to the breakout room. Have you ever had to deal with any folks with behaviors that go against your code of conduct? And have you seen any change over the years as the world becomes more digital and more people join those spaces?
32:42
Yes, we have had to drop a couple of people from the email list. So it has happened. It's rare. You know, the group, at least our group in Fridas, I'm not saying that we're perfect. I'm not saying we've never had issues, but most of the people on the email list are good people. I would say in general, most developers are good
33:02
and they're just there to try and make the project better. You get some people who will sometimes, I don't know, maybe they're there to just cause problems because that's what they want to do. But I would say more frequently as people that just kind of let emotions kind of run away with them and, you know, it's okay if you go off once,
33:22
if you, you know, get corrected and you come back, sorry about that. And then that's like a one-time deal. That's not something we'll, you know, ban somebody from the email list for, but people who repeatedly come back and do that, and especially who are abusive to other people, right? That's, if you let that go on,
33:40
that's gonna kill your community, right? Because people are gonna see what's going on in your email list and your community, and they're like, ooh, that's allowed. They let people just abuse other people. And if I'm a new contributor and, you know, I'm looking at joining your project, I'm probably gonna look at your email list archives or maybe use a web forum, whatever,
34:01
I'm probably gonna look at that first before I decide if I'm gonna contribute. And if I look at your email list, I'm seeing a bunch of people being abusive, especially for new people who are joining, you know, that's not good. And so you do need to have these rules, these rules of engagement. And if people are going consistently,
34:22
consistently breaking those rules, you do need to, you know, ban them. We have banned, I would say, over the course of our 17 years, like three or four people. I mean, it's not been very many, but it has happened. And it definitely does keep the communication respectful.
34:41
And it's something that I think does keep the mailing list conversation at a higher level.