12:33:03 <rebelsky> #startmeeting 12:33:03 <zodbot> Meeting started Mon Jun 3 12:33:03 2013 UTC. The chair is rebelsky. Information about MeetBot at http://wiki.debian.org/MeetBot. 12:33:03 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 12:33:52 <rebelsky> #topic 2.1 Examples of HFOSS in Education 12:34:33 <rebelsky> For those not here, it's a rainy day in Philly 12:35:57 <rebelsky> (whoops ... the stuff we left in the room was cleaned up. Greg will replace folders.) 12:37:08 <rebelsky> Dinner tonight. Is anyone skipping? Right now, it looks like just one missing. 12:38:02 <rebelsky> Last night we got the landscape of FOSS. Today we get a landscape of how this HFOSS thing fits into education. 12:38:23 <rebelsky> Slide: Scope of Learning 12:38:46 <rebelsky> You can study HFOSS in a variety of ways - Political, Business model, Community model, etc. 12:38:57 <rebelsky> "You can start with as small as one assignment." 12:39:10 <rebelsky> That is, you don't have to do the "senior design capstone" model. And you certainly don't have to start there. 12:39:20 <rebelsky> Slide: Activity Structure 12:39:47 <rebelsky> There are lots of ways for students to work. One particularly nice approach is to have interacting teams. 12:40:09 <rebelsky> There are a huge number of possible deliverables. "The sky is the limit." It doesn't ahve to be code. 12:40:33 <rebelsky> And there are lots of ways to evaluate results. Beyond the professor, you can rely on the HFOSS community. 12:41:07 <rebelsky> "You can tell students to comment until you're blue in the face and they'll ignore you. But as soon as a peer reviewer on the HFOSS project says 'This can't be accepted until it is sufficiently commented', they comment." 12:41:12 <rebelsky> #Slide: .... 12:41:17 <rebelsky> #Slide: 50 Ways to be a FOSSer 12:41:33 <rebelsky> #link http://xcitegroup.org/softhum/doku..php?id=f:50ways 12:41:57 <rebelsky> About 15 high-level categories 12:42:07 <rebelsky> Created by a team. 12:42:18 <rebelsky> Slide: Example - FOSS Participants 12:42:35 <rebelsky> These aren't assignments, they are assignment ideas. 12:42:58 <rebelsky> Shadowing sounds like an interesting approach. 12:43:06 <rebelsky> Slide: Example - HFOSS Project Overview 12:43:20 <rebelsky> An opportunity to help students better understand what is involved in an HFOSS project. 12:43:27 <rebelsky> Lots of approaches (all on the slide) 12:44:01 <rebelsky> Slide: Eample - Communication 12:44:05 <rebelsky> (Whoops "Example") 12:44:12 <rebelsky> It's okay to lurk for awhile. 12:45:00 <rebelsky> Reminder: Reminder: Pad is at http://openetherpad.org/p/posse2a (but it's down right now) 12:45:04 <rebelsky> Slide: Example - Usability 12:45:06 <rsuehle> One of you have the link handy to where these slides are? 12:45:48 <heidie> toip of page 12:45:48 <rebelsky> #link http://foss2serve.org/images/foss2serve/d/da/POSSE_Stage2Materials.zip 12:45:48 <heidie> http://www.foss2serve.org/index.php/Stage_2_Activities 12:46:04 <rebelsky> Slide: The Course - Software Engineering 12:46:30 <rebelsky> Heidi's course. It's a senior-level software engineering course that all students have to take. 12:46:40 <rebelsky> In many ways it's a traditional course. 12:47:00 <rebelsky> She wants to add more real-world experience - the complexity of an on-going project. It's their last opportunity to do this before going off to the real world. 12:47:33 <rebelsky> How did she start? 2006, she was at Trinity. In January, one of their graduates (also a lab support person) came back from Sri Lanka (which was having a major Tsunami). 12:47:46 <rebelsky> He said "We have to get involved in this project called Sahana. It's really cool." 12:47:55 <rebelsky> Heidi had trouble finding time (no surprise), but the student pushed. 12:48:15 <rebelsky> So Heidi and Ralph Morelli found two independent students to help them learn about it. 12:48:23 <rebelsky> More "Okay ... go figure this out." 12:48:27 <rebelsky> Step one: Download and install. 12:48:31 <rebelsky> Step two: Make a minor mod. 12:48:39 <rebelsky> Discovered that the project was approachable by students. 12:48:54 <rebelsky> And a relatively open teaching style: "Go figure it out and then come back and ask questions." 12:49:12 <rebelsky> Those two students, plus a volunteer from Bard, spent the summer developing a volunteer management module. 12:49:45 <rebelsky> By the end of the summer the Sahana group was so thrilled that they sent a student to a disaster simulation. Their code got used to register over 200 participants. 12:49:53 <rebelsky> Impact was immediate. 12:49:59 <rebelsky> And that's how Heidi got hooked. 12:50:07 <rebelsky> Warning! That's not a typical experience. She got lucky. 12:50:17 <rebelsky> Slide: The Project: Caribou 12:50:25 <rebelsky> Fall 2009, if I get it right. 12:50:42 <rebelsky> Caribou is an on-screen keyboard for people who have difficulty using a physical keyboard. 12:50:53 <rebelsky> Slide: Caribou Development Environment 12:51:19 <rebelsky> Students developed new keyboards. Surprise! Keyboards are JSON format. So, not a lot of traditional coding. 12:51:40 <rebelsky> But Heidi wasn't worried about whether they can code. The big question is whether they can navigate in a large project. 12:52:07 <rebelsky> It took students about four weeks to figure out the format and everything. 12:52:32 <rebelsky> Slide: Student Enhancements (....) 12:52:38 <rebelsky> Slide: Student Enhancements; Usability 12:52:58 <rebelsky> She's not sure that they provided that one back. THe students decided upon it without seeing it on the buglist. 12:53:10 <rebelsky> Slide: Student Enhancements: Programming Keyboard 12:53:35 <rebelsky> #link http://titanpad.com/posse2a 12:54:08 <rebelsky> Discussion of what gets accepted back to community. 12:54:20 <rebelsky> In Gnome everything is "design driven". 12:55:08 <rebelsky> Note! Start with the community. 12:55:27 <rebelsky> It may seem cool if you come up with, but it's cooler when you are doing something the community wants and then gives positive feedback. 12:55:37 <rebelsky> And FOSS communities are usually good about this. 12:55:57 <rebelsky> Some of what students do will be successful and be accepted. Some of what students do won't be accepted. 12:56:23 <rebelsky> Lots of reasons it's not accepted - Sometimes students forget to push (send pull request, whatever). Sometimes someone at the other end is "asleep at the wheel". 12:56:40 <rebelsky> Question: How did you come up with this project? 12:57:11 <rebelsky> Heidi: "Community first." Emailed Joanie. Gave outline of what she wanted. Asked for suggestions. Caribou came back as a suggestion. 12:57:29 <rebelsky> Important thing: Heidi had developed a relationship. 12:58:17 <rebelsky> But it's also possible to ask similar questions without having contacts. 12:58:42 <rebelsky> As long as you approach the community and you're clear about your status, you're likely to get responses. 12:58:47 <rebelsky> And the communities are used to newbies. 12:59:02 <rebelsky> The whole idea is that you're not doing it by yourself. 12:59:48 <rebelsky> E.g., when she was installing some software, she hopped on the IRC and said "I'm having trouble, I've googled, here's how far I got." And she got help. 13:00:02 <rebelsky> Greg: Remember that you'll start small. And that there are always tasks that have to be done. 13:00:22 <rebelsky> Question: What's the process when things get rejected? Is it an iterative process. 13:01:10 <rebelsky> Heidi has a good example of some iteration. A student submits. "You have to fix A, B, and C". Student fixes. "You have to fix E, F, G." Four rounds. Then accepted. 13:01:16 <rebelsky> But that was a responsive moderator. 13:01:39 <rebelsky> The on ramp for any project we're likely to work with is bumpy. "Maybe there's a path you can see through the woods." 13:02:00 <rebelsky> As a fresh set of eyes you can 'blog, take notes on, etc. all the hurdles along the way of getting started. 13:02:10 <rebelsky> Could you then start to build a better "Getting started" page? 13:02:32 <rebelsky> We're used to doing this. So it's an area we can really help out. 13:03:22 <rebelsky> Two students in OpenMRS could not get it installed. The developers had spent too much time in the environment and hadn't realized the problems in getting started. Her students spent four weeks dealing with it and now their stuff is on the OpenMRS site. 13:03:31 <rebelsky> [We will talk about communication methods soon.] 13:04:35 <rebelsky> Karl's story about Eucalyptus. Their goal had been to go through the setup process and give feedback. But it took them half a semester to get the hardware done. 13:05:02 <rebelsky> And there ended up being no good path for the documentation to get in to the main project. (It lives on a Wiki elsewhere.) 13:05:14 <rebelsky> Remember! Students can learn from failure. 13:05:52 <rebelsky> It appears that the project was not yet ready to have that many student contributors. (At the end of the semester they had added a Wiki, etc.) 13:06:10 <rebelsky> That's why we do FOSS field trips. 13:06:47 <rebelsky> Note: When you're building a project, you're out in the middle of the woods trying to build a city. And it's so cool when someone finds you. 13:07:11 <rebelsky> (In case that wasn't clear, that's often the perspective of the community.) 13:08:07 <rebelsky> Fixing even the smallest bug gets students used to the whole process. And the smallest bug can include a typo. 13:08:17 <rebelsky> Slide: The Project: OpenMRS 13:08:30 <rebelsky> Originally started to track aids patients in south africa. 13:08:38 <rebelsky> It's a significantly different project. 13:08:54 <rebelsky> "If there are twenty different ways to do something in OpenMRS, they've used all twenty different ways." 13:09:16 <rebelsky> Slide: Student Enhancements: Developer Environment Instructions 13:09:33 <rebelsky> Great student idea. After each step, they took a snapshot of the Virtual Box so that they could back up. 13:10:27 <rebelsky> Slides: Untitled 13:10:59 <rebelsky> Issue: Open MRS does not do good name mapping. Students worked on it but didn't solve. 13:11:17 <rebelsky> High school opportunity: Come up with test cases. Give expected output, actual output, and time required. 13:11:25 <rebelsky> (Whoops ... change required.) 13:11:46 <rebelsky> Slide: Project; Epidemiological Modeling 13:11:58 <rebelsky> Slide; Map of US showing the spread of a disease. 13:12:12 <rebelsky> Slide: STEM Development Environment 13:12:42 <rebelsky> Different communication style: Rather than IRC, they had a weekly conference call. (Perhaps b/c it started as a project at Stanford.) 13:12:47 <rebelsky> Slide: Student Enhancements 13:12:54 <rebelsky> Slide: UI 13:13:17 <rebelsky> When you mouse over a location, it gives some info (county, area, population, etc.) 13:13:40 <rebelsky> Community also wanted number of infected people and a timestamp. 13:13:55 <rebelsky> But where do I start with 3/4 M lines of code? 13:14:03 <rebelsky> The community pointed them to the right 5-10 files. 13:14:10 <rebelsky> And Heidi didn't even have to look at the codebase. 13:14:22 <rebelsky> On to Cam 13:14:31 <rebelsky> Slide: UI of Ushahidi project. 13:14:51 <rebelsky> Ushahidi came out of election violence in Kenya. Has grown to open-source mapping application. 13:15:02 <rebelsky> The Ushahidi foundation keeps growing. 13:15:36 <rebelsky> Cam got involved through Canadian undergraduate capstone project. 13:16:03 <rebelsky> Some folks who work on a project swim in stuff so much that they don't realize the things that you need to know to get up and going. 13:16:26 <rebelsky> And not everyone is good at providing reasonable tasks. Some can be three year projects. 13:16:42 <rebelsky> Knowing what can be done takes some practice. 13:17:19 <rebelsky> It's a growth experience. The first time Cam did this, projects were too large. This time, he's having them look through git issues and evaluate a bit. 13:18:24 <rebelsky> Some technology: Reports come in. Someone verifies. 13:18:29 <rebelsky> Then data can be visualized. 13:19:05 <rebelsky> One student project - Seeing categories in their own color. 13:19:13 <rebelsky> Sounds simple. Why is it a course project? 13:19:53 <rebelsky> Students may need to learn PHP, the Model-View-Controller pattern, Javascript (which dynamically generates the dots) 13:20:01 <rebelsky> The Javascript talks to the Web server through the API. 13:20:39 <rebelsky> UI issue: If you combine dots and show numbers, what happens when they are in different colors (different categories) 13:21:32 <rebelsky> Another issue that students work on ... how do you support verification. 13:21:43 <rebelsky> Context: Mapping illegal garbage dumping in Italy. 13:22:07 <rebelsky> Problem: Limiting what areas people can verify (or can't verify). 13:22:30 <rebelsky> Student solution: Draw a polygon and only accept verification from within that polygon. 13:23:19 <rebelsky> A second set of students came up with a different solution. 13:23:25 <rebelsky> Which gave them a chance to compare solutions. 13:24:12 <rebelsky> Heather, the Community Director from Ushahidi, serves as a contact and sometimes Skypes in to see student presentations. 13:24:54 <rebelsky> Having the external person sets student presentations to another level. 13:25:07 <rebelsky> Whoops! We're about ten minutes over. 13:25:52 <rebelsky> Whoops! Technical difficulties with lecture system. 13:26:59 <rebelsky> #topic 2.2 HFOSS in the Curriculum 13:27:40 <rebelsky> (We may be behind schedule, but some of the things from this session got covered in the previous session.) 13:27:50 <rebelsky> Ideas to help us think about where this fits in our department curricula. 13:28:17 <rebelsky> A bit of intro, and then some discussions of typical places HFOSS appears in the curriculum. 13:28:22 <rebelsky> Slide: Options for Getting Started 13:28:43 <rebelsky> It's not realistic that most places can add a full HFUSS participation course. 13:28:55 <rebelsky> Administratively, it probably wouldn't work. 13:28:57 <rebelsky> And we need experience. 13:29:08 <rebelsky> Most people have been successful starting with small steps. 13:29:30 <rebelsky> Figure out what's reachable for you. 13:29:53 <rebelsky> The start simple model seems to be how things happened at Drexel. 13:30:02 <rebelsky> Adapting ideas from Trinity. 13:30:14 <rebelsky> Slide: Getting Started - Examples 13:30:58 <rebelsky> It's definitely been a learning journey for Greg, and he's not anywhere close to being done journeying. 13:31:29 <rebelsky> Greg found it useful to use some of the professional master's degree students, but he's mostly used undergraduates. 13:31:52 <rebelsky> Greg would like HFOSS as a feature of the entire curriculum. But that's a long process. 13:32:49 <rebelsky> Karl got started by watching a presentation by Greg and Heidi. Started with senior capstone. 13:33:00 <rebelsky> Working on a larger project seemed better than building an invented toy project. 13:33:09 <rebelsky> Each semester he's used a different open source project. 13:33:18 <rebelsky> (Each semester == Each spring) 13:33:35 <rebelsky> Also taught a first-year seminar on the concept of Open. 13:34:15 <rebelsky> Book: Shirkey's Cognitive Surplus http://www.amazon.com/Cognitive-Surplus-Technology-Consumers-Collaborators/dp/0143119583 13:34:26 <rebelsky> Had students work on editing Wikipedia. 13:34:31 <rebelsky> At least one students banned. 13:34:32 <esmail> maybe we could all collect a list of relevant readings? 13:34:53 <rebelsky> This student made totally inappropriate edits. 13:35:18 <rebelsky> A plan for the nonmajors course (in Python) - Go look at what Python modules are out there that you can use. 13:35:53 <rebelsky> #link http://xkcd.com/353/ 13:36:37 <esmail> rebelsky: +1 for posting one of my favorite xkcd / Python cartoons 13:36:41 <rebelsky> Teaching and learning group was looking at hyper-local news. 13:36:48 <rebelsky> Put up OpenBlock server. 13:37:15 <rebelsky> #link http://openblockproject.org/ 13:37:55 <rebelsky> Next idea: Students are asking him to start git earlier. So he's trying to incorporate it in the earlier classes (first course)? 13:38:20 <rebelsky> Needs to help them get a deeper understanding of what they're doing with git ... not just following a script. 13:38:24 <rebelsky> He'll talk more in another session. 13:39:12 <rebelsky> Note: There are all sorts of side learning that happens. Professional behavior, problem solving (Heidi's VBox example), etc. 13:39:33 <rebelsky> They build very valuable professional skills. 13:39:49 <rebelsky> Just because you're stuck, it doesn't mean that you can stop. Problem solving of how to go on. 13:40:11 <rebelsky> How do you fit all of this into your curriculum. Need to find learning goals and have the opportunity for serendipitious learning. 13:40:29 <rebelsky> Many things you learn from open source are things that you have difficulty teaching in the regular curriculum. 13:40:38 <rebelsky> But it's difficult to be sure that you can get the same result every time. 13:40:51 <rebelsky> Slide: Example: Single HFOSS Assignment 13:40:58 <rebelsky> (Greg needs to speed up more. Scary.) 13:41:13 <rebelsky> Easiest thing - I'm going to do something simple in course X. 13:41:25 <rebelsky> But that's actually difficult in terms of getting them to participate in a community. 13:41:34 <rebelsky> FOSS Field Trip is one kind of assignment that works with this. 13:41:59 <rebelsky> It's hard to get much beyond that if you're only going to do one assignment. 13:42:24 <rebelsky> Going beyond that? Perhaps more scaffolding (develpment on our part). 13:42:39 <rebelsky> It may be possible to do bug fixing. But it sounds like it needs a lot of scaffolding. 13:42:55 <rebelsky> Some of the scaffolding can come from the curriculum. (E.g., if they know git early ...) 13:43:49 <rebelsky> Suggestion: Reading the mailing list archives and sending in a small question might be a more interactive component of the FOSS field trip. 13:44:02 <rebelsky> But you don't want to overwhelm/annoy the community. 13:44:37 <rebelsky> There has to be a balance between being visible and being good citizens. 13:44:40 <rebelsky> Can this scale up? 13:45:16 <rebelsky> Students will "kick the bees nest anyway". 13:46:36 <rebelsky> There may be some communities that welcome this kind of interaction. 13:47:28 <rebelsky> Introducing yourself and asking a question on an IRC is huge. 13:48:03 <rebelsky> (Remember ... show that your brain is turned on before you engage the community.) 13:48:29 <rebelsky> Often, students are at the ends of the spectrum ... scared to get on at one end, willing to go on and insult everyone at the other 13:49:31 <rebelsky> Need to understand the size of the project to see how many students you can unleash on the community. 13:50:37 <rebelsky> Sometimes trying it yourself first is a good idea. 13:50:42 <rebelsky> Test the waters! 13:51:29 <rebelsky> Also prepare the students to work with the community. The students don't necessarily understand that the person they are talking to may be the person who hires them. 13:52:41 <rebelsky> How much does the faculty member have to be the gatekeeper between the students and the community? Some, but you don't want to cut off communication. 13:53:32 <rebelsky> How big are the classes that you're doing this with? Most are doing 8-24 (or 30) 13:54:28 <rebelsky> Slide: HFOSS in a Project Course 13:54:34 <rebelsky> Most curricula have something like this. 13:55:03 <rebelsky> Greg thinks that for sophomores and juniors our Stage 1 activities are more appropriate than real participation. 13:55:49 <rebelsky> Really changes the model of the capstone course in which students have traditionally had a complete project with multiple stages. 13:55:53 <rebelsky> Slide: HFOSS as a Course 13:56:32 <rebelsky> Two major courses: One in which students participate in open source projects; Another in which students learn about "Open" 13:57:58 <rebelsky> Slide: HFOSS as a Curriculum Thread 13:58:19 <rebelsky> Greg has started to move things down the curriculum change. 13:58:37 <rebelsky> He's fortunate in that there's a course early in the curriculum that introduces them to larger systems. 13:59:34 <rebelsky> Slide: HFOSS Beyond the Curriculum 13:59:54 <rebelsky> If you can't change your curriculum, you can look for other things to do. 14:00:45 <rebelsky> #link http://www.rhok.org/ 14:01:07 <rebelsky> #link http://hackforchange.org/ 14:02:11 <rebelsky> Heidi's story about being at Gnome meeting. Mel Chua said "You should have a session." 14:02:27 <rebelsky> (Okay, that' s "propose a session".) 14:02:40 <rebelsky> And their session got forty people showing up. 14:03:55 <rebelsky> We have some food for thought at lunchtime today. Michael Brennan will chat with us about random hacks of kindness. 14:04:41 <rebelsky> (Now we're only five minutes over. Good job!) 14:05:41 <rebelsky> #topic Break 14:07:21 <rebelsky> howardf: Let us know if you have questions along the way ... 14:09:03 <rebelsky> Anyone know about getting the resolution changed on the CS50 appliance? I've installed the Guest Additions and raised the simulated video memory, but I'm still stuck at 800x600 14:20:01 <rebelsky> Etherpad is back up. 14:20:05 <rebelsky> #link http://openetherpad.org/p/posse2a 14:28:19 <rebelsky> Bleh. Even reinstalling the Guest Additions didn't solve the problem. 14:30:01 <joanie> rebelsky: What environment is a CS50 appliance? 14:30:33 <rebelsky> Hmm ... will break end soon? 14:30:41 <stoneyj> yes soon :) 14:30:55 <rebelsky> joanie: The CS50 appliance is the thing Cam distributed to us to play with Ushahidi. 14:31:11 <rebelsky> I think CS50 is a Harvard Course. The CS50 appliance seems to be a relatively small Red Hat VM. 14:31:27 <joanie> rebelsky: what I mean is, what desktop environment or OS or whatever 14:31:34 <rebelsky> #topic 2.3 Understanding Open Source Communities 14:31:39 <joanie> but oops I need to pay attention before I get called on. 14:31:51 <rebelsky> Heidi started teaching with horseback riding. So she can be LOUD. 14:32:35 <rebelsky> Slide: Overview 14:32:46 <rebelsky> Heidi will talk, but Joanie and Ruth will jump in. 14:33:17 <rebelsky> Slide: FOSSism: It's All About Community 14:33:33 <rebelsky> You are not doing code. You are not working on an assignment. You are joining a community. 14:33:48 <rebelsky> And if you don't understand the community, you won't understand where it's going and what it needs to survive and grow. 14:34:07 <rebelsky> To be successful, you really need to have long-term participation in the community. 14:34:19 <rebelsky> So ... get to know your community. 14:34:28 <rebelsky> Slide: Get To Know Your Community - 1 14:34:49 <rebelsky> While we say "Community, Community, Community", different people have their own rules, spoken and unspoken. 14:34:58 <rebelsky> They expect you to adhere, but don't really think about it. 14:35:08 <rebelsky> Try to avoid sticking out like a sore thumb. 14:35:20 <rebelsky> Each community has its own mode of communication. 14:35:36 <rebelsky> Some say "If it doesn't exist in a Bugzilla comment, it doesn't exist." 14:35:49 <rebelsky> Slide: Get To Know Your Community - 2 14:36:18 <rebelsky> There are processes. How do you find that out? (We're heading toward it.) 14:36:38 <rebelsky> There are both written and (un)written rules 14:37:23 <rebelsky> And you need to follow lots of rules. If you miss some of them, you may get ignored, even if you've done the rest. 14:37:33 <rebelsky> Some are as simple as "you should never go beyond 80 characters". 14:37:57 <rebelsky> Slide: Get To Know Your Community - 3 14:38:25 <rebelsky> And communities have different subcommunities. The Gnome team is different than the Gnome accessiblity community is different than .... 14:39:02 <rebelsky> And then you get down to the individual level. 14:39:55 <rebelsky> And sometimes code goes by multiple communities with somewhat contrasting standards. 14:40:04 <rebelsky> Get To Know Your Community - 4 14:40:20 <rebelsky> "Hmmm ... the ORCA roadmap has not been updated in three or so years." 14:41:07 <esmail> http://openetherpad.org/p/posse2a working again 14:41:49 <rebelsky> The first semester is likely to be difficult. 14:42:00 <rebelsky> So stay in the same community - the rules will stay the same. 14:42:03 <rebelsky> And stay connected. 14:42:19 <rebelsky> Eventually, the community will look out for you. 14:42:51 <rebelsky> "We do want your students to be part of our community." 14:42:58 <rebelsky> "We're just really busy." 14:43:17 <rebelsky> "But it will all be awesome." 14:43:39 <rebelsky> Reminder: Be careful not to use too many projects in one course. 14:44:44 <rebelsky> Slide: Get to know your community 5 14:45:27 <rebelsky> Remember: Learning the rules as you go is a good experience. You have to do it in any job. 14:45:40 <rebelsky> So it's great for students to do it once as undergrads, before they get a job. 14:46:08 <rebelsky> Open source leads to great "teachable moments" 14:48:56 <rebelsky> Remember that the TeachingOpenSource community is a community, too. (A helpful community.) 14:49:09 <rebelsky> As faculty members, it's hard to come off as ignorant. 14:50:02 <rebelsky> (It's emotionally hard. We certainly have the ability to be ignorant.) 14:50:32 <rebelsky> Outdated roadmaps are not as much of a negative sign as they seem to be. 14:50:45 <rebelsky> Very few projects keep their roadmaps up to date ... they are very tricky. 14:51:12 <rebelsky> git logs give you much more information about what's going on. 14:53:35 <rebelsky> Note that some folks in one project can help you navigate other projects. 14:54:16 <rebelsky> Also a goal of this POSSE - Building some small groups that can share local knowledge. 14:55:36 <rebelsky> And a goal of the HFOSS directory on Foss2Serve. 14:55:49 <rebelsky> And may incorporate their assessment rubric. 14:55:58 <rebelsky> Slide: FOSSism: Be Productivel Lost 14:56:21 <rebelsky> You don't have to understand the whole codebase to participate and be involved in the community. 14:56:30 <rebelsky> You navigate by working within the community. 14:56:31 * joanie just pinged the GNOME Accessibility Project Lead telling him we need to prioritize updating our roadmap. Sorry about that!!! 14:56:53 <rebelsky> Slide: FOSSism: Give Back 14:56:59 <rebelsky> Remember: Fixing a typo is a huge giveback. 14:57:26 <rebelsky> Once you get active on the listserve, you can start answering newbie questions. 14:57:45 <rebelsky> Even verifying a bug is useful. 14:57:56 <rebelsky> Slide: FOSSism: Opportunism reigns 14:58:30 <rebelsky> When the right alignment of planets happens, they'll do it. That means that the plan you've made for the semester is likely to fall apart. (Well, may fall apart.) And we'll talk about how to handle that. 14:58:57 <rebelsky> Faculty think three years out. FOSS people tend to think three weeks out, maybe three months out, maybe even four months out. 14:59:23 <rebelsky> It's not that the community is trying to sabotage you. It's just how the community works. 14:59:44 <rebelsky> Slide: FOSSism: If it isn't public, it didn't happen 15:00:06 <rebelsky> Note that public means accountable. It makes students more careful about what they do and what they publish. 15:00:28 <rebelsky> We'll talk about this more in the project. 15:00:51 <rebelsky> Another violation of faculty norms - Get used to public communication. 15:01:49 <rebelsky> Sam asks about FERPA. We'll talk about it later. 15:01:56 <rebelsky> Slide; FOSSism: Radical Transparency 15:02:39 <rebelsky> Students tend to be more comfortable with this than you are. But not all of them. Heidi has had some students reluctant to write a 'blog. 15:02:56 <rebelsky> Some of it will feel foreign to you. 15:03:11 <rebelsky> Everything is out there. Not just the products, but also the decision-making process. 15:03:32 <rebelsky> Slide: FOSSism: Ask Forgiveness, Not Permission 15:03:56 <rebelsky> If you're thinking you might want to try something. Try it and then ask about it. You'll almost always get a "yes", unless it doesn't follow the current trend. 15:04:05 <rebelsky> "You're not screwing them up by branching." 15:04:11 <rebelsky> Slide: FOSSism: Branches are Free 15:04:26 <rebelsky> If you have something that's cool, share it back with the community. 15:04:32 <rebelsky> Slide: FOSSism: Keep a Hisotry 15:04:56 <rebelsky> Think about Joanie's note that "the git log provides a history." Don't commit without a MEANINGFUL comment. 15:05:04 <rebelsky> Ideally, the comment links to the bug. 15:05:44 <rebelsky> Remember that students come into a project and then leave the project. Having history that documents what they've done is necessary. 15:06:01 <rebelsky> Question: How often do students stay on and continue contributing to the project? 15:06:07 <rebelsky> [Red Hat wants to know that, too.] 15:06:29 <rebelsky> We can cite cases of "this student or that student". But we don't have enough data to talk in general. 15:08:05 <rebelsky> Some interesting research questions here. 15:08:43 <rebelsky> For example, are students who do these things likely to be more comfortable incorporating open source as they move on to the corporate world. 15:09:31 <rebelsky> Your github account is sometimes your calling card for your fist job. 15:09:34 <rebelsky> (first job) 15:09:47 <rebelsky> It's part of your portfolio. 15:10:22 <rebelsky> Question about Radical Transparency: How much student resistance is there to the openness? 15:13:01 <rebelsky> Importance of developing communication skills by writing and posting. 15:13:14 <rebelsky> And students learn from commenting on each others' work (and from having their work commented on) 15:14:09 <rebelsky> Changes the process too ... instead of "do the work and get the comments", it's "do the work, get the feedback, and then incorporate them" 15:14:28 <rebelsky> Not all students are the same. So having alternatives and such are important. 15:14:52 <rebelsky> Good developers make mistakes, too. That's why we have a review process. 15:15:46 <rebelsky> A great 'blog story: Students were blogging and complaining about it. Then a leading researcher commented on one of the 'blogs and suddenly it was cool. 15:16:05 <rebelsky> 90% of folks in open source are really nice. 15:16:18 <rebelsky> Slide: FOSSism: Begin with the Finishing Touches 15:16:26 <rebelsky> "Pick something little." 15:16:39 <rebelsky> Slide; FOSSism: It's Not What You Know, It's What You Want To Learn 15:17:03 <rebelsky> Remember that everyone was once a newbie. FOSS projects are used to newbies coming in. 15:17:18 <rebelsky> Join a community to learn. Not to make a big impact (at least not at first). 15:17:31 <rebelsky> Slide: FOSSism: Release early, Release often 15:17:43 <rebelsky> Release, get feedback, and such. 15:18:38 <rebelsky> Slide: FOSSism: Push to Upstream 15:19:39 <rebelsky> Slide: FOSSism: Show Me The Code 15:20:29 <rebelsky> Slide: FOSSism: Shallow Bugs 15:20:34 <rebelsky> An impact of radical transparency. 15:20:49 <rebelsky> People can review and provide feedback and help you fix bugs. 15:21:15 <rebelsky> Slide: FOSSism: Uncommunicated Work 15:21:39 <rebelsky> With two weeks left in the term, you'll know what your students have and have not done. Make sure it gets communicated before they go off at the end of the semester. 15:21:47 <rebelsky> What have they done? What haven't they done? What do you see as the next steps? 15:21:51 <rebelsky> And try to get someone to take it on. 15:22:24 <rebelsky> Because a contribution isn't complete until you've handed it off. 15:22:55 <rebelsky> Should we perhaps plan a soft "pencils down" date about three weeks in advance of the end of the semester? 15:23:46 <rebelsky> Sometimes students are invested enough that they get it committed. 15:24:50 <rebelsky> Perhaps try to break the project down to smaller projects so that you can be clear how far you've gone. 15:25:20 <rebelsky> Greg's story: Students were working on instructions for installing on a new OS. During break, someone picked up what they were working on and finished it. 15:26:56 <rebelsky> #topic Getting Started 15:27:20 <rebelsky> Question: GSoC students? 15:29:42 <rebelsky> But reminder that public github accounts are one of the ways that students are doing GSoC 15:29:49 <rebelsky> Getting started with version control. 15:29:51 <rebelsky> #Link http://www.ericsink.com/vcbe/ 15:31:34 <rebelsky> We need to understand how important version control is. 15:32:14 <rebelsky> (Okay, that was a detour. Now we're starting on Getting Started.) 15:32:28 <rebelsky> Now we're doing the explicit step-by-step how you get started. 15:32:40 <rebelsky> Step 1: Getting Organized - 1 15:32:46 <rebelsky> Assumes that you've done the initial project evaluation. 15:33:10 <rebelsky> You should have done cursory examination for the major signposts. (We say cursory because not everything will be up to date.) 15:33:23 <rebelsky> Heidi has students identify each of these so that it's right up front. 15:33:30 <rebelsky> Step 2: Getting Orgainzed - 2 15:33:41 <rebelsky> Make sure that the deliverables fit your course. 15:33:55 <rebelsky> Opportunism: Don't identify the exact bugs, but look at the types of bugs that are filed. 15:34:05 <rebelsky> And try to trace the process for fixing a bug. Can you step through the cycle? 15:34:21 <rebelsky> Step 2: Lurking 15:34:27 <rebelsky> (That earlier Step 2 was Step 1, part 2) 15:34:43 <rebelsky> Lurk on the IRC. Find meeting times and try to lurk. 15:34:48 <rebelsky> Step 3: Introduce Yourself 15:35:00 <rebelsky> Once you have a base understanding. Who are you and why are you joining? 15:35:06 <rebelsky> Do this *months* before the semester starts. 15:35:29 <rebelsky> Greg notes that there are different levels of introducing yourself. 15:36:16 <rebelsky> If you're watching on IRC, you may want a quick introduction saying "Hi, I'm a faculty member at X and I'm just lurking." 15:36:30 <rebelsky> Step 3: Continued 15:36:46 <rebelsky> Remember! The goal is to facilitate student entrance into the community, not find student work to do. 15:36:57 <rebelsky> Step 4: Finding Things to Do 15:37:02 <rebelsky> Remember! Be transparent. 15:37:23 <rebelsky> It's important to accomplish the task and get it committed. 15:38:09 <rebelsky> Question: What if I need the open source project for incorporating into something else. 15:38:20 <rebelsky> Shop it with the community 15:38:47 <joanie> If anyone has to use git and is totally unfamiliar with it, I'd be happy to do a lunch/evening/whatever useful git tricks session. 15:39:32 <rebelsky> #topic The Pop Culture Guide to Open Source 15:39:39 <rebelsky> Designed for people who don't know about software. 15:39:50 <rebelsky> Presentation is from Maker Fair, but she's going to talk about how she's using. 15:39:57 <rebelsky> There are lots of versions of the presentation on YouTube. 15:40:20 <rebelsky> All of the open source principles are related. And they all come down to sharing. 15:40:43 <rebelsky> Some time in the growing-up process we forget how to share. 15:41:17 <rebelsky> The principles, rather than "Open Source". Because "Open Source" makes people think about code. 15:43:08 <rebelsky> Open Source Hardware community isn't quite as tied to open. 15:43:22 <rebelsky> MakerBot 2.0 is a big closed box because "folks were stealing my stuff" 15:44:15 <rebelsky> What is open source hardware? Like open source software, but for physical things. 15:44:19 <rebelsky> The idea is that the plans are open. 15:44:43 <rebelsky> #link http://www.oshwa.org/definition/ 15:45:14 <rebelsky> People make knockoffs, and that causes some people to freak out. 15:45:34 <rebelsky> Some examples of open source hardware: Adruino, Raspberry, pi 15:46:03 <rebelsky> And they get used for lots of humanitarian things. 15:46:28 <rebelsky> All art is derivative. 15:46:49 <rebelsky> Five basic principles: Sharing, Transparency, Meritorcay, etc. 15:47:46 <rebelsky> Vintage tomorrows: http://shop.oreilly.com/product/0636920026631.do 15:48:39 <rebelsky> Power of creative commons. 15:49:04 <rebelsky> Tears for Fears raised under creative commons helped creators. 15:50:25 <rebelsky> Center for Public Domain at Duke 15:51:32 <rebelsky> #link http://www.thepublicdomain.org/theft/ 15:52:07 <rebelsky> Harry Potter and the Methods of Rationality 15:52:09 <rebelsky> #Link http://www.fanfiction.net/s/5782108/1/Harry-Potter-and-the-Methods-of-Rationality 15:53:16 <rebelsky> Power of rapid prototyping. 15:53:43 <rebelsky> Meritocracies - 15:54:07 <rebelsky> A movie about links: Love Actually 15:55:12 <rebelsky> Ready Player One - Uses Open Source in what seems to be a very different way. 15:55:32 <rebelsky> "We can print bacon." 15:57:57 <rebelsky> #link Michael on Random Hacks of Kindness and More 15:58:05 <rebelsky> Whoops. 15:58:10 <rebelsky> #topic Michael on Random Hacks of Kindness and More 15:58:32 <rebelsky> Michael Brennan is a graduate of the Ph.D. program in Computer Science. 15:59:00 <rebelsky> Doesn't write much code these days. What he does is engage individuals in writing code (FOSS) for social impact reasons and more. 15:59:15 <rebelsky> Helped managed National Day of Hacking. 15:59:37 <rebelsky> Pretty massive event. 15:59:53 <rebelsky> People engaging with each other, with government agencies, with nonprofits, etc. 16:00:06 <rebelsky> What challenges are you facing? WHich can be solved by tech? And what tech can we build? 16:00:26 <rebelsky> He'll share a bit about those initiatives and how he became involved. 16:00:31 <rebelsky> And hopes that it will encourage us to become involved. 16:00:50 <rebelsky> (Whoops, forgot the Civic in National Day of Civic Hacking) 16:02:00 <rebelsky> Had two passions as an undergrad: Local director of Amnesty International and CS major. Didn't necessarily see relationships. 16:02:20 <rebelsky> At Drexel, worked on security and privacy. Which requires looking at how it's used in the world. 16:02:39 <rebelsky> Then found out about Random Hacks of Kindness. 16:02:50 <rebelsky> "What can we make that will really have an impact in our community." 16:03:37 <rebelsky> Shelter came out of a RHOC in Philly. How does an App help with homelessness? 16:03:55 <rebelsky> It helps shelters coordinate with each other. Gives you a way to know what beds are available. 16:04:05 <rebelsky> Coordinate and share info. 16:04:46 <rebelsky> And works for working poor, too. Food banks and such. 16:05:06 <rebelsky> Deployed in Philly, Austin, Dominican Republic, Jersey, DC, Colorado, ... 16:05:41 <rebelsky> #link http://philly.sheltr.org/ 16:07:18 <rebelsky> How do we better engage academia and students in this? 16:40:33 <rebelsky> #endmeeting