For those of you who are listening in here, one of the wonderful things about this universe of cloud natives and open source people and the community development people is that we're all quite willing to share our stories and help with other projects. And, Tari, you have been instrumental in lots of different arenas in OpenStack and I've followed a lot of the OpenStack stuff from the early days and I'm really thrilled that you're here today to share your lessons learned under what I call the big tent. I think you guys coined the word or it was coined about OpenStack. So I'm going to let you take it away and talk for as long as you like and then we'll bring on a panel as well. So Tari, take it away. We're on time for a change. Perfect. Well, thank you for having me. Thanks to Diane and Daniel for the invitation. It's always great to be able to share our experience and mistakes and good things about the OpenStack experience. So my name is Tari Cara as I'm working for the OpenStack Foundation and I've been working on OpenStack since the very beginning of the project. And in a month, we'll be celebrating the 10 years of the OpenStack project. I think it's really a great time to reflect back on what happened and derive lessons from this adventure from our experience really openly developing at a massive scale. So what do I mean by openly developing at a massive scale? By openly developed, I mean an open source project where anyone can participate in a legal playing field where there is no main sponsor with special rights or special access where everything is transparent. And obviously today, there are a few new projects that have followed the same path but most not only Kubernetes obviously, it's also an openly developed project. But back in 2010 when OpenStack started, it wasn't that common for new projects to be set up that way. And it's also massive in terms of in 10 years, OpenStack has grown a lot and I have a few numbers to try to illustrate that. We currently have 762 Git repositories and those are all official OpenStack repositories under the stewardship of the OpenStack technical committee. It's basically all those repositories under a single governance body. We also have more than 8,000 individual contributors to OpenStack so far. And here I count only code contributors to authors of patches that have been accepted in OpenStack. So not just people that participated in the community, one way or another by asking questions or anything. And in terms of activity, we had around 48,000 changes merged over the past year. And those are Garrett changes which are comparable to GitHub pull requests for those who are more familiar with GitHub. As in there, reviewed by a human and tested before they are merged. So these are like comparable metrics. And this place is OpenStack still as one of the most active open source projects in activity today. Finally, in terms of deployments, our OpenStack user survey reports about 10 million CPU cores of computing power running on OpenStack. Those are pouring virtual machines, containers, bare metal machines, storage and networking resources. And that's only what's been reported to us because we also know a lot of deployments that do not report exactly numbers to us. The picture on the slide is the large Hadron Collider at CERN, the European Center for Nuclear Research, which uses an OpenStack cloud with more than 300,000 CPU cores to power its data processing capabilities. So overall, I would say that those 10 years have been a wild ride. We mostly focused on handling that crazy growth. And there was really a lot of yak shaving involved, especially on the project infrastructure side, where we quickly hit the limits of what we started with in 2010. So we started with the launchpad system from Canonical. Clearly, at one point, we overgrew Bazaar, which was the code revision control system. And so we switched to Git. And then from launchpad, we switched to Jenkins for running our tests to Zoolci for handling the load that we ended up running. So there was really a lot of yak shaving involved. And at the same time, now it's really calmer. And we don't grow as fast anymore. OpenStack components are more stable. So it's really a good time to reflect back and extract some hard-learn lessons from that experience and share them. The first lesson is that you should ignore the headers. And it's sad that it happens with open source projects. But with any reasonably successful project, there will always be a group of people that will publicly express dislike for what you're trying to achieve, what you're doing, and trying to bring you down. And usually it's coming from people that are not really part of the project at the beginning, and they feel left out. So rather than trying to join and participate, they prefer to dislike the project publicly. And OpenStack has been predicted dead for the past nine years. There's been an interesting exercise. But we're still very much around. The option is still growing like crazy. So my advice would be to ignore the people that say you're dead and pursue your goals, because time will ultimately prove you're right and the open source is very resilient.  The second lesson is that hype goes up and down. Hype is this excitement around your technology as people try to rub their heads around the technology and try to understand it. So that really generates a lot of participation, a lot of press articles, massive conference attendance, and it's generally fueled by curiosity. But at one point, people start to understand the technology and what it can and cannot be used for. And at that point, hype goes down. And it's generally a painful moment because to support all the participation that this hype phase brings, you tend to build a lot of structure in terms of event size, processes, project infrastructure, and scaling that infrastructure down to more reasonable and sustainable levels can be difficult, especially if you are engaged in multiple years ahead. And another aspect to that is that the open source project in itself is not a business model. And companies getting involved with the project actually need a real business model. So a lot of companies, mostly vendors, tend to join the project early on in hope that it will magically make them relevant in the 21st century without having a clear business model in mind. And when they fail to magically extract money from the project, they readjust their investments, they jump to the next thing, or they completely drop from the game. And at that point, when hype goes down and companies pull out resources, a lot of people will leave your community, and you have to be strong and resilient. What you soon realize is that at the end of the day, you're actually OK as long as you have users. Users is really what ultimately matters, because they will be self-sustaining at some point. And so past that depression, if you stick to the project, you realize that boring is good. Turns out once you remove all the hype, infrastructure software is kind of boring. And hype can be very toxic. There used to be a time where OpenStack would sell press articles, clickbait headlines. And people would watch every move, read every word on mailing list posts, and try to extract drama that wasn't really there. And that was very stressful. And now we're in a much center environment with a lot less external pressure. And we also got rid of poisonous people that got attracted by hype and glory at some point. So I would say we're in a better position now in terms of community health than we were maybe four or five years ago. An important follow-up lesson is that at the peak of the hype, it's easy to get into an echo chamber and think that your tech solution is the end to all things, that it will solve all problems forever. I've seen it happen with OpenStack. I'm now seeing it happen with Kubernetes in a way. Turns out you're not the last thing. There will always be another technology that will come next and steal the hype. And you have to prepare for that. And when that something else comes, it's important to realize that they don't replace you. Technology is really additive. People like to think that one technology can be used for everything, that it can replace everything. Learn it and you will never need to learn anything else. Sell it and you will just solve all of your customers' problems forever. But reality is more complex. Containers did not replace virtual machines, which did not replace bare metal machines. Functions will not replace containers. Unicornos will not replace function. Technology is additive. And as we add those technologies, integration becomes the real challenge. And that's why it's so important to engage beyond your community. That's what I'm trying to do here by sharing our experience. At peak hype, there is a tendency to think that hopefully things should be absorbed and done inside a single community and ignore all the other communities. Engaging beyond gives you perspective. It avoids you getting stuck into an echo chamber. It allows you to learn from history, learn from the mistakes of others or their good experiences. It reduces the risk to repeat the same mistakes. And that's why I'm here today, to try to share lessons from the OpenStack experience. Another lesson, important lesson is that being massive does not prevent you from being fragile. When you have thousands of contributors like OpenStack has and Kubernetes has, it's easy to think that your community is stronger than it really is. And fact is, you actually rely on the work of a very limited number of highly engaged contributors that take on strategic contributions and critical functions. What we call horizontal work in OpenStack or what the Kubernetes community calls shopwood carry water. I made this graph a couple of years ago to illustrate that. It's a graph showing the number of developers necessary to produce a given percentage of the changes in the OpenStack release. So on that release, we had about 2,500 contributors, which sounds like a huge number, but obviously there is a long tail of very small contributors. So you can see that it takes about 500 developers to produce 85% of the changes. But more interestingly, 50% of the code is produced by just 93 key contributors. That's actually a lot more brittle than the thousands numbers that I started with. And that thousands number can make you believe that you're invincible. Nothing can happen to your community. But the reality is you will rely on the work of a lot smaller number of contributors. That's because some roles are just hard to feel. There are multiple reasons for that. First, organizations tend to do tactical contributions. They tend to invest in things that benefits them in particular, like adding a feature they need or fixing a bug that would only affect them. And you need people to do strategic contributions, things that will benefit everyone, like handling release management or fixing a complex bug that affects everyone. The second reason is that at the peak of the hype, certain functions are really hard to feel. Developers tend to be kings and they have the luxury to choose. So they generally pick things that are less boring and more creative, which barely leaves a number of holes to be filled. And finally, some functions are just requiring significant expertise that is different from that of the crowd, like technical writing or UI design. And it's sometimes hard to find resources to feel those or to attract them in your community. The next lesson is that over time, people will join. One error we made early on was to assume that our principles and our culture would naturally transmit to newcomers who are oral tradition. And that worked to an extent, but at one point it stopped working and we realized that we should have documented our culture, rather than just assume that it will naturally transfer to people that join. The mirror lesson from people will join is that over time people will leave. And life happens.  And at that point, you need to have a bench of other people ready to step up. You need to train them to understand that they will be stewards rather than kings, that they will have duties rather than rights. And you need to provide multiple opportunities to step up and give proper recognition to those who do. And I think that's an area where the communities did a really great job with the shadows system that allow you to grow leaders in the shadow of existing leaders. And I think it's a really great model to emulate. Another issue we encountered is how we scale development itself. In OpenStack, we split development across project teams that are dedicated to specific components. And in those, there would be core reviewers which would be basically people that who approve the changes ultimately. But those people can't review everything. But they basically have to trust each other to review changes like they would have reviewed them. And turns out that works until the group reaches a certain size, which is around 16 people. You can't really scale up trust. You have to scale it out by further splitting code areas. And that can really be difficult when people don't want to let go of their ownership of a specific area. And that's just one way Conway's Law will bite you. Conway's Law states that organizations which design systems are constrained to produce designs which are copies of the communication structures of those organizations. Basically, what you produce is completely predetermined by how you organize things internally. And in OpenStack, we organized development around project teams, specialized in specific components which made it hard to do cross-project horizontal work. It's harder to track that kind of work. It's harder to do, and it's not well recognized. So as projects got more stable, it started biting us because we wanted the various components to work better together. And so we needed a lot of that consistency work to be done. And that work is much more difficult than it should be. It's important to be aware of that. Another way Conway's Law will bite you is that due to the way the open source project is organized, everything our community developed was put in the same bucket and called OpenStack. And now we realize that it's sending a pretty confusing message. People are still asking us, what is OpenStack today? And it also made it difficult to discover components that can be used standalone without any other OpenStack components. So we've started to recognizing that and make it easier to discover and reuse individual components within the OpenStack framework. We also started to work on other open infrastructure technologies and try not to call everything OpenStack because at one point it's more confusing than helping. So having seen a few of those openly developed, massive openly developed projects now, there are a few axioms that seem to apply every time and I thought it would be useful to try to list them. So the first axiom is that you have to have four opens for it to be really an open collaboration. The first open is open source, which is an obvious first one. Using an open source initiative approved license and not supporting open core models is pretty important if you want to build a healthy community. Open development is the second one. Everything happening in development should be transparent and accessible to everyone. But that's pretty standard in 2020, especially with GitHub that helps setting up projects in a pretty open way. Open design is a step beyond that. Design should not be done behind closed doors by a separate group of privileged developers. It should be done in the open and be inclusive of users and that's pretty critical. And finally, the last open is open community. Any individual should be able to join the community and become a leader. Contribution should be your only currency. Nobody should have special rights based on who they happen to work for. Those four opens are the key to a successful and healthy open collaboration. Open collaborations have a hidden secret which is that openly collaborating has a cost. You will go slower and a focused startup will get to something working in a fraction of the time it will take for an open collaboration to get there. So you have to accept that. You have to accept to go slower because you will also go farther, which is for software, what ultimately matters. Another, sorry. Another hidden secret of open collaboration is that open collaboration will inevitably lead to scope creep. The reason is it's really difficult to say no in an open collaboration. Someone comes up with a feature to support a corner case and brings it to the comments. It's really difficult to reject it. So you end up usually with lots of options, lots of plugins, lots of things that are beyond your scope. You should try to put barriers in place to resist that like an early manifesto that will say what your project is and what your project is not that you can easily refer to afterwards because once the open collaboration is in place, it's really difficult to resist. As engineers, we like to gather data and measure performance to try to improve. And as humans, we like to see how we compare to each other. So that's usually why we derive stats and metrics to follow our development efforts. And we put up websites which present those metrics. The problem is it usually incentivizes gaming the stats and results in the wrong behaviors. The good art flow states that when a measure becomes a target, it ceases to be a good measure. So basically, if you start publishing the metrics and people start to compare each other using those metrics, then the metrics go bad. And it's a difficult one to fix. In OpenStack, we try to avoid it completely by not providing such competitive metrics at all, but then someone else built the website that allowed people to compare to each other. That's really a problem. It resulted in people submitting patches for typos everywhere to try to boost their standing. And I don't have a great solution for that. The last axiom is that face-to-face time is necessary. And I know we're running a virtual event here. And as much as I personally like us to be truly globally distributed, some things require spending some time together in person, like building trust, building shared understandings, solving hard problems, agreeing on priorities. The OpenStack Foundation run our first virtual developer gatherings two weeks ago. And it sort of worked as a sink point for the various teams, but it did not generate any long-term alignment or shared understanding. So something was missing. I think it's great that we can have those virtual events. It allows people that cannot travel usually to your events to participate. It's good to have them. But at the same time, if you only rely on virtual events, you will lack the necessary trust-building to make a few fully online communities completely healthy and sustainable. Okay, so last part of this talk is about giving a set of best practices that should be able to be applied to any openly developed open-source project. If you want to start with a good base, my first advice would be to start by documenting a clear set of principles. Open-source projects are ultimately social beasts. People are joining a community, not necessarily a technology. So setting a number of principles in stone from day zero will really help set expectations and build a common culture. In terms of project governance, I have two rules to follow that I advise people to follow is to add governance structures only at levels where final decisions are needed. There shouldn't be any vanity governance bodies because that's not very helpful and that creates a lot of shorn in the community. But you should add enough structures to strongly align with your constituencies. If you have completely separate groups, they should be completely represented by different governance bodies. A lot of projects just start with the BDFL model. But to me, that's an anti-feature. The BDFL model is basically a cargo-cultured non-governance. So sooner or later, you will need proper governance. And the more you wait, the more painful the change would be. Diversity is critical and we already had a few talks about it today. It's critical to build a healthy community. You have enough different perspectives in a community. And it starts with inclusive community processes and tooling. As an example, when OpenStack started, it was mostly between US and Europe-based developers. So we relied heavily on weekly RSE meetings in a European and America-friendly time zone, which made it fairly difficult to contribute efficiently from China or India. And so my advice would be to build for the fact that Earth is not flat. And for example, reduce dependency on synchronous meetings as much as possible. And more generally, you should make sure that your processes and tuning are not actively excluding minority groups. Because if those tunings are put in place by the majority group, obviously they can be very excluding. I said earlier that as long as you have users, you're good. But users don't appear from nowhere. You have to cultivate them if you want them to be part of your community. Getting users engaged and actively participating in the feedback loop is essential. But it's important also to not build developer versus user mentality. One mistake we made early on in OpenStack is to have separate governance representation for developers and users. I feel like it prevented users from being more naturally involved with the developers and participating in that feedback loop. It can be pretty difficult to unwind as time goes on. Code reviews are now pretty common. But you should also adopt a test-driven code-getting, basically prevent code from merging if changes do not pass tests. So from there's zero in OpenStack, we had that saying that if it's not tested, it's broken. And the truth is in any complex system, if untested things are not broken already, they will soon be broken. So I think it's important to assume that if you don't test things, they can very well be broken. Adopting code-getting, like we did in OpenStack, has a lot of side benefits, like the development branch is always usable and it promotes a test-centric culture that is really good. I would also strongly encourage adopting time-based releases over feature-based releases. I feel like it's becoming pretty obvious now that it helps, because in a truly openly developed project, you will really have a hard time predicting what and when features will land. So rather than doing a bad job at feature-based releasing, you should embrace the benefits of time-based releases, which is to have a predictable cycle, clear plan downtime for your community, happy downstream users knowing when their work starts, and events that can be well synchronized with your development cycle. Embrace time-based releases, rather than do a bad job at feature-based releases. And finally, my last advice would be to automate everything you can automate. This has plenty of benefits. Automation will obviously save you a lot of time, avoid a lot of human error, and ensure repeatable processes. But beyond that, automatable tasks are usually boring. And so for your community, people will prefer to work on automating those tasks, rather than do them over and over again. So in OpenStack, we ended up automating everything, even things that don't really make sense automating, like our IRC meeting calendar, or our world-wideest process is completely automated. But it really pays off in the end in terms of making sure that all those boring tasks are covered. And that's it. That concludes this talk. So thanks for watching this. And I think we can open to the panel for questions. Absolutely. Terry, thank you very much for this amazing talk. I think everybody's been chatting amongst themselves here in there and just going, there are so many things that we all learned and are still learning from the OpenStack Foundation and the work that you guys have done. And I really can't thank you enough for making this actually happen. So here I'm just going to unmute a bunch of people who I think you all recognize and know. It should have everybody unmuted. Rain and Amy Merrick and Lisa Marie and Daniela Squaredo and myself. And I can see sort of the top of your head in that picture, but in your eyeballs. There you go. It went to my other webcam for some reason. There you go. Hello. And it's the rule of the hoodies here. So I'm liking this day today. So we're getting a whole bunch of hoodies going on here. Terry, you said a ton of things that were incredibly useful and lessons that I think a lot of them, since most of us are also working and collaborating with the CNCF and the Kubernetes community, we also have a lot of us came from the OpenStack community into the Kubernetes and there's still a lot of collaboration and work that goes on between. But we really are grateful for you sharing this experience, your experience and continuing to work and collaborate with everybody. So thank you. That said, I have Daniel, Rain and Lisa Marie and Amy here. I'm sure they all have comments on this. But I'm going to just say right off the bat, the golden rule is that you put down for me is if it's not tested, it's broken. So I think that should be tattooed on every open source project thing. And thank you for that one. Well, it's actually Monty. Of course it's Monty. Yeah, it's not me. Sorry. Can we get through one topic out of Monty? Shout out. I guess we can't. OpenStack still has to have at least one Monty Taylor shout out. Hi, monster. We miss you. So I think one of the things that is also really interesting to me about the OpenStack world is how you are now reinventing yourselves with open infrastructure. And one of the lessons that you learned was like pulling everything under the big tent or the big skirt and labeling it OpenStack. And it's nice to see that the CNCF hasn't done the same thing completely. But can you talk a little bit about the reinvention and I think with Starlinks and some of the other projects that you're pulling in and how that's informing where you're going next. Yeah, so it started by realizing that trying to market a number of things. I mean, how we ended up there is because we had OpenStack, the OpenStack community. And the reason behind the big tent approach was everyone that is part of our community is participating in OpenStack. It was the idea that we should be a very inclusive community and who are we to decide who is part of our community and who is not part of our community. So anything that the OpenStack community produced ended up being called OpenStack. And obviously that's not that pretty poor product management because in the end you end up with something that is called OpenStack but has so many facets. And at one point, I mean, I understand why we ended up this way but at one point it started to be more destructive when we started to explain what OpenStack is in clear terms to have more of a brand rather than a product. And so we realized that especially once some of the components that we produced were equally applying to Kubernetes and OpenStack, for example, didn't make any sense to call that OpenStack. So Airship, for example, is a deployment project and they can deploy OpenStack but they can also deploy other infrastructure stacks. So making it a part of OpenStack makes it extremely difficult to explain. It's easier to explain that it's a deployment system that can deploy OpenStack. In the same way we had Zool, the ZoolCI, which was mentioned in the talk, is also something that was born out of the OpenStack infrastructure but generally useful to others. And so if we just call it a part of OpenStack infrastructure and don't give it its own brand or identity, it's really difficult to explain to newcomers that might be interested in Zool without being interested in OpenStack. So at that point we realized that what really matters is not necessarily the technology that you produce but the people that you assembled to work on those problems. And OpenStack as a community is more a community of people that integrate various pieces of infrastructure, open source infrastructure software. And they will combine OpenStack but also SAF or Kubernetes or others to provide infrastructure for others to build their applications on. And so what happens in OpenStack summits for example was more a gathering of operators of open infrastructure solutions. And as they were discussing new projects, new pieces of software, it made really apparent that the real gain for us was to provide this environment where people can discuss open infrastructure in general rather than just OpenStack. And work on the complex problems which are integration and operations rather than just discuss like development of OpenStack. And that's where the flip switched in my head. Like we are not about producing OpenStack. We are about helping people operate open infrastructure. And so we can do that by helping obviously producing OpenStack but also producing other pieces of software discussing integration with other communities and not just the pieces of software that we produce and that's where the extension came. We're a community of humans solving a problem space not just producing a certain piece of software or a certain brand. And if I can jump in here for a second. From a community standpoint, I remember when this discussion was starting to happen and I feel like as community managers we really pushed the envelope on that one because the conversation sometimes starts in the community before it actually gets to the foundations, right? And it should be that way. But I really have to applaud the OpenStack foundation because we changed the name of our community. We used to be just OpenStack. We changed it to Open Infrastructure and then it became Cloud Native Open Infrastructure. And we started doing that I think years before the actual summit changed its name because that's the conversation that the community wanted to have. And we still did OpenStack stuff. We ran the first ever Zool Meetup and we ran the first ever Cota Containers Meetup and we still really tried to push the technology when it was required. But it became more talking about solutions, the community was users, was contributors, was ops, was architects. It was a whole bunch of different people who were coming and they wanted to talk about complete solutions and really solving a lot of business problems. So we had already done that and by we I mean the San Francisco Bay Area chapter. And I really have to applaud the foundation for taking the feedback and for listening and for then changing the name of the summit to really help us kind of mirror the community. Yeah, I totally agree that it's based on the feedback of the community that we ended up seeing that. At least from the development side of the community, clearly that's around the time where we were in that echo chamber that I described in the talk where you only hear about OpenStack, everything, your world is all OpenStack and you're blind to what happens elsewhere. And so it was really useful, the community really helped bringing that external perspective, especially operators in general, having to operate those stacks of software, they didn't care about who produces it. What they want is the resulting stack to work. And so rather than discuss only one piece of technology in a vacuum, it's much more useful to discuss integration of the various pieces and solving real problems rather than be a bit territorial about what you ended up accepting to discuss or not. Yeah, that's like the Ops Meetup Team. They put on twice yearly events and they're mainly focused around OpenStack and operators, but they're including SEP and they're opening it up to other things in order to meet the needs of the operators and again that complete solution. So okay, we need a bigger, more robust storage. SEP fills the need and a lot of people are using it, so why not include it in the operator meetups? Yeah, I always thought of OpenStack as an umbrella project anyway that included a bunch of specific projects that came together to make something work. Switching, it made complete sense. I was involved with Lisa Marie's group before Open Infrastructure changed its name as well and I was like, that does make sense. And so when OpenStack Foundation changed Open Infrastructure, I was like, yeah, duh. It just made complete sense. I'm wondering if the OpenStack Foundation, like the foundation part of it, is going to change to something like Open Infrastructure Foundation or something else in the future or if that's in the pipeline? Well, that's definitely something that's being discussed. I would say that in order to justify that, we would need to... I would say we don't have enough technology or new technology or new members to actually justify that at the moment. OpenStack is still the main product, but if we, as people, like you said, understand what we're trying to achieve when we talk about Open Infrastructure, there will be more potential for other organizations to join with other pieces of technology that are not connected to OpenStack in particular but are still used to provide infrastructure using Open Source solutions and at that point, I think it would make more sense, but I want to rename just for the sake of renaming. I think it's good that we renamed the summits. I think it's good that we renamed the events, but I would say for renaming the foundation, I think it's important to... It would be a new chapter and to justify the new chapter, it would need significant change. I don't want to change it and not add anything. Yeah, that would be my guess. And from the community standpoint, I got to say people do not care what it's called.  Yeah, the name of the foundation is not really important. If you look at the PTG, it was going to be the OpenDev plus PTG. Now, that's been separated into two different events, but the OpenDev part is scale and edge and so many different topics than what would be covered during the PTG, which was very OpenStack specific. So inviting other groups to come and talk has definitely been where the OSF is going. Anything that is infrastructure, if it touches on OpenStack, great, but if it's just a neighboring community, OSF has been very open to inviting them to events. And I'm actually looking really excited and lined up for two of the three so far and just hearing what other people have to say and how those other communities interact with us. Yeah, we've been trying to invite as many like adjacent communities to our events, especially the project team gathering because it allows developers to, like they had their own meeting, but they can mingle with developers from the other communities and that kind of posthmosis between the groups is really interesting. It's difficult to do without being accused of stealing other communities, but I feel like developers don't care. I mean, Ryan has been to a number of PTGs and we've seen the SEF, we've seen other like Gata containers, but also Kingston Fabric and other groups joining because there was significant overlap in their interests and just having them around was really useful to bridge the gap between the communities and discuss potential integration points. And in the end, the software works better if we exchange more. And so I feel like it's the right approach to invite everyone and if we have to take some heat about it. Yeah, definitely easier to do this, but I'm really looking forward to the open dev because we will at least get the mix there or we didn't know the virtual PTG. And so yes, speaking of... Go ahead, Mary. I was just going to bring up something he mentioned earlier. In your presentation where you were talking about that communication is your... And that everybody is part of the community if you're contributing. So I want to point out that, Amy, I spent a lot of time talking about this. When you say contributing, you're not just talking about writing code. There are lots of ways to contribute to a community and people sometimes forget that. And there's so many important roles to play and a lot of people get really intimidated about joining and staying in communities if they're not actually programmers working on a project. I mean, Doc was pointed out earlier. The community will let you know where the gaps in your project are. Doc is often a gap, but there's so many other... What was the name of the group, Amy? The AUG or the ATC? I can't even remember the acronym, but in OpenStack we went and did create a user community, a group of active contributors that aren't actually code. And it was called ZonCode contributors. There's bias in that statement right there, and we had to call it something else. And so the active user community goes well beyond people who are just developers. So I want to make that point so that everybody understands they have a world-playing community, an important one. That's the thing. We keep circling back around to that end-user community and the importance of that in any of our communities or ecosystems. And recognizing their contribution. So I think that's a real key point, Lisa-Marie, thanks. Yeah, and actually the dark side of Githops is that once you turn everything into Git repository, then everything is measured against changes that you produce. And if your work does not translate into a change, then you don't exist. And that's really the dark side of automating everything like we did in OpenStack or driving everything to forget in the others, is that if you don't get out of your way to also count all those other contributions that are really key to having a full perspective on what's happening, it's difficult. And you mentioned the AUC criteria, which is basically having a number of rules to automatically recognize contributors that have participated in those non-measurable ways. So if you moderate the session at the NOPS meetup, you shouldn't even have to ask for to be added to the group. It should be given to you because we all know that if humans have to ask for things, they just don't necessarily do it. So having a way to list all those forms of contributions that should automatically be recognized, even if you don't have a script that will automatically compute the list for you is, I think, a good step that we put in place in OpenStack. It's really easy for a developer-centric community to just ignore that. And I'm talking from the... I'm an offender of that in the early years, just in the light letter. Actually, it's interesting that this... I mentioned it earlier today. I'm working on a COVID-19 initiative with a bunch of data scientists and data scouts and people finding open data sources to use for mapping COVID up here in Canada. And what... It's kind of the square peg in the round-hole thing because they have a website, and the website uses GitLab, so they have the Git-centric stuff, but none of the data scientists or the data people are looking at... They're all clinicians and data scientists, and we're trying to force feed them GitLab and Git processes, and we're going to do it. We're not stopping. We are going to use it. So this is just the nature of the beast that we live in, but it's been interesting to listen today and hear how maybe not all of our automation and our processes work for all things, and there might be some things that we need to go. So it's all good. Well, it's like in OpenStack, and we offered it to other parts of the community under OSCEP, is First Contact SIG. A group of people were going to help you get started in the community. OpenStack Upstream Institute. Live hand-holding and help for two days right before summit or at some of the OpenStack days or now infrastructure days. So the community providing people who are going to help you is so important, because for someone who doesn't know your processes like we use Garrett, I love Garrett over PRs, but most people don't know Garrett or how to install it or anything else. So having people there who are willing to take their time to help you contribute your first patch is awesome, and more and more groups are doing. Amy, I have to give a shout out. Amy has done a phenomenal job building a mentoring program. This is another valuable part of a community. The mentoring program in OpenStack and beyond that she's worked on for years. And these are thankless jobs, and as Tilke was saying, you don't always get the credit. So as community organizers out there, it's super important to really think about these things and then to figure out how you can recognize those members of the community. Another thing I would say quite often the community developers, managers, and the people organizing all these things aren't recognized unless they're doing some sort of documentation or something like that. So it's like you might go and work on a project like OpenStack or one of the many other ones and never make an engineering contribution so you never do that. So it's also interesting. I have some qualms about the gamifying, the badging. We use it a lot in Fedora, Fedora badges and stuff like that. So I have never been a huge fan of it. Do you guys feel like that actually works? Is that something that people are incentivized by? I always feel like it's gamifying thing, just personal opinion. So I love gaming, and so I love that, but I completely see your point of view to kind of, there's a certain rejection of gamification unless you are a gamer type, or unless you fit in those holes to earn those badges. And I get that. I think the only badges I have in Fedora are time based from having made my account and then still being a member and then I happen to have cake with the last F cake, and so I have a cake badge. And otherwise it's not real. Everything else I've done for Fedora is around advocacy work and diversity work that doesn't have a corresponding badge or gamification or award, and it's not that I wouldn't have done that stuff. It's just that it's very difficult to recognize advocacy specifically. I think that's something we should change. Let's do something around that right there. Even in the OUI sessions, people have gotten their companies to send them places early and they just sit in the room while we started saying, whoever answers this question gets a Tim Tam. People started answering questions. Here's a sticker. So gamification can get participation, and in those instances it's really good, but when it's for a company or someone to just say, we've got the most commits, we've got the most that, then it's not a realistic application of a gaming because you're gaming numbers to your benefit, not gaming to help the community if that makes sense. Yeah, I also think, I'm not so much worried about, I mean, we've all seen people gaming systems and stack analytics and other, you know, everything. And I'm the first to say that I love metrics, I love dashboards, I love the insights they give me into what's going on in the community and who's doing what, but they're not the full picture. And I think my point is more about that the things that we can measure, we do, but the things that are not quantifiable, we kind of leave off the map. And one of them is like dev rel or dev advocacy, and often what I see is a little bit of, then those folks tend to have, or us tend to have imposter syndrome. Like we may do a career for 10, 15 years in this, but we never made an engineering contribution so when we go to whatever, we don't have that, you know, the badge of honor or something like that. So I'm not so much worried about people gaming the system, people know that happens, right? People have been in enough of these things. So I think that's one of the things that I am always cognizant of is that all of the other participants in the community, how do they get, how do we recognize them?  But it's really, I think, one of the more difficult tasks in community building is making everybody feel like that their contribution counts and get that, you know, especially because everybody, not everybody, a lot of people work for companies that value the contribution label. So I think that's something that's, we still haven't quite figured out yet. I mean it is hard to recognize people and like Tom Feifeld actually did have a script that would go through on the AUCs to some degree. But then it was also reaching out and every time it was reached out to me, for me, the women open stack and later the diversity and inclusion working group, I always provided names of people who came, showed up, and did something, not just that flow in a meeting.  You know, you helped run the mentoring program at AUC. So it's got to be a two-way street where the community is asking the people who know and the working groups in the CIGS who may not be showing up, even the technical contributors. There's an extra ATC status here, you'll know the correct name for it. But like before DOCS was considered a technical contribution, this was a way of the DOCS contributors getting recognized. So there are ways of doing it, but the communities also have to be open to it and be able to supply the information. And it's not just about being recognized because one of the things that the Open Stack Foundation did, and we brought this all the way up to the board, but they listened, was they started giving this passes to the conferences and scholarships. Because the problem is a lot of times if you're managing a community or you're doing that on your nights and weekends, somebody has to know how to slide about that. A lot of us are not doing, like when I was working at HP, I was never paid to run the Open Stack community and I was running the world's largest Open Stack community twice a month in the evenings. It's all personal time. And I'd written two books on Open Stack and I still wasn't considered a contributor. The Foundation listened and they started giving us passes to the conference. And in some cases, because I was never getting paid to be sent there, they were doing some airfare and things like that. And I really thank them for that. And we did get our little AUC on the badge, our little sticker, and it really meant a lot to be walking around the conference with that imposter syndrome thing hanging over your head to actually be, I'm legitimate. I have a legitimate reason to be here in this community. It meant a lot. It's something that foundations can do. I think the key is to judge engagement rather than, you know, the end result. Like if someone engages and participates in a community, they should be considered a contributor and also apply very liberally the role, not try to restrict it to an elite group because otherwise that way lies madness. And so, like, we use the extra ATC for all the translators, for example. If you submit a translation, it should count as a contribution. And so that's one of the mechanisms we put in place to, that wasn't a Git contribution, but it definitely required a human typing names in a list. But it requires some work to properly track contribution in a community. So sometimes it's so much easier to just, like, rely on Git logs and, you know, don't ask questions. Yeah, I know that Daniel and I, who have been doing some work on, he mentioned it earlier today, it's one thing to collect the metrics, but if you don't have a domain expert or someone who knows the community to apply the metadata or to the understanding of what they're doing in the community, it's a two-part measuring and collection of data and information. So that's always pretty significant. Well, we are a little over our time and our next guest speaker has come. And so I really, again, I'm going to keep saying this. All of you were on this call. Amy, I'm so glad you're with us at Red Hat because I am so going to take you on as a commons person to help us build out a lot of our end user and other parts of our community. So it's wonderful to have you here. Rain, you just departed Red Hat, so good luck at Packet. Thank you so much. And Lisa Marie, I can't tell you how much I respect the work that you've done in the OpenStack community. So thank you again for all of that. And I'm definitely going to have all of you back on for other variations on this theme soon. So thanks again for your work and your efforts. And Terri, I'm going to figure out your lighting situation because you look the healthiest of all of us. I know, right? That color lighting. Look at you. I'm so jealous. No. Totally jealous here. So anyway. Thank you for everything you do. It's not easy what you've done. You have created an incredible community with OpenShift, Gathering, and the conferences that you put on. And I've been honored to participate in, I think, five or six of them. They are really amazing. So thank you for all the work you do. We'll keep on truckin' when we'll be doing more of it and reinventing it.


Book 5, Part 1 of the Histories by Publius Cornelius Tacitus. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Recording by Leni. The Histories by Publius Cornelius Tacitus, translated by Alfred John Church in William Jackson Broadrip. Book 5, AD 70, Part 1. Early in this year, Titus Caesar, who had been selected by his father to complete the subjugation of Judea, and who had gained distinction as a soldier while both were still subjects, began to rise in power and reputation, as armies and provinces emulated each other in their attachment to him. The young man himself, anxious to be thought superior to his station, was ever displaying his gracefulness and his energy in war. By his courtesy and affability he called forth a willing obedience, and he often mixed with the common soldiers while working or marching, without impairing his dignity as general. He found in Judea three legions, the 5th, the 10th and the 15th, all old troops of Vespasians. To these he added the 12th, from Syria, and some men belonging to the 18th and 3rd whom he had withdrawn from Alexandria. This force was accompanied by twenty courts, of allied troops, and eight squadrons of cavalry, by the two kings Agrippa and Sahimas, by the auxiliary forces of King Antiochus, by a strong contingent of Arabs, who hated the Jews with the usual hatred of neighbors, then lastly, by many persons brought from the capital and from Italy by private hopes of securing the yet unengaged affections of the prince. With this force Titus entered the enemy's territory, preserving strict order on his march, reconaturing every spot, and always ready to give battle. At last he encamped near Jerusalem. As I am about to relate the last days of a famous city, it seems appropriate to throw some light on its origin. Some say that the Jews were fugitives from the island of Crete, who settled on the nearest coast of Africa, about the time when Saturn was driven from his throne by the power of Jupiter. Evidence of this is sought in the name. There is a famous mountain in Crete called Aida. The neighboring tribe, the Aidae, came to be called Judeae, by a barbarous lengthening of the national name. Others assert that in the reign of Isis, the overflowing population of Egypt, led by Jerusalemus and Judas, discharged itself into the neighboring countries. Many again say that they were a race of Ethiopian origin, who, in the time of King Saphias, were driven by fear and hatred of their neighbors to seek a new dwelling place. Others describe them as an Assyrian horde, who, not having sufficient territory, took possession of part of Egypt, and founded cities of their own in what is called the Hebrew country, lying on the borders of Syria. Others again assign a very distinguished origin to the Jews, alleging that they were the Solymae, a nation celebrated in the poems of Homer, who called the city which they founded higher of Solymae, after their own name. Most writers, however, agree in stating that, once a disease which horribly disfigured the body, broke out over Egypt, that King Bocharis, seeking a remedy, consulted the Oracle of Hemen, and was bitten to cleanse his realm, to convey into some foreign land this race detested by the gods. The people, who had been collected after diligent search, finding themselves left in a desert, sat for the most part in a stupor of grief, till one of the exiles, Moises by name, warned them not to look for any relief from God or men, forsaken as they were of both, but to trust to themselves, taking for their heaven sent leader that man who should first help them to be quit of their present misery. They agreed, and in utter ignorance, began to advance at random. Nothing, however, distressed them so much as the scarcity of water, and they had sunk ready to perish in all directions over the plain, when a herd of wild asses was seen to retire from their pasture to a rock shaded by trees. Moises followed them, and guided by the appearance of a grassy spot, discovered an abundant spring of water. This furnished relief. After a continuous journey for six days, on the seventh, they possessed themselves of a country, from which they expelled the inhabitants, and in which they founded a city and a temple. Moises, wishing to secure for the future his authority over the nation, gave them a novel form of worship, opposed to all that is practiced by other men. Things sacred with us, with them have no sanctity, while they allow what with us is forbidden. In their holy place they have consecrated an image of the animal, by whose guidance they found deliverance from their long and thirsty wanderings. They slay the ram, seemingly in derision of Haman, as they sacrifice the ox, because the Egyptians worship it as apis. They abstain from swine's flesh, in consideration of what they suffered when they were inflicted by the leprosy to which this animal is liable. By their frequent fests they still bear witness to the long hunger of former days, and the Jewish bread, made without leaven, is retained as a memorial of their hurried seizure of corn. We are told that the rest of the seventh day was adopted, because this day brought with it a termination of their toils. After a while the charm of indolence beguilded them into giving up the seventh year also to inaction. But others say that it is an observance in honor of Saturn, either from the primitive elements of their faith having been transmitted from the ideae, who are said to have shared the flight of that God, and to have founded the race, or from the circumstance that of the seven stars which rule the destinies of men, Saturn moves in the highest orbit, and with the mightiest power, and that many of the heavenly bodies complete their revolutions and courses in multiples of seven. This worship, however introduced, is upheld by its antiquity. All their other customs, which are at once perverse and disgusting, owe their strength to their very badness. The most degraded out of other races, scorning their national beliefs, brought to them their contributions and presents.  Among themselves nothing is unlawful. Circumcision was adopted by them as a mark of difference from other men. Those who come over to their religion adopt the practice, and have this lesson first instilled into them, to despise all gods, to disown their country, and sat at knot, parents, children, and brethren. So they provide for the increase of their numbers. It is a crime among them to kill any newly born infant. They hold that the souls of all who perish in battle or by the hands of the executioner are immortal. This a passion for propagating their race and a contempt for death. They are one to bury rather than to burn their dead, following in this the Egyptian custom. They bestow the same care on the dead, and they hold the same belief about the lower world. Quite different is their faith about things divine. The Egyptians worship many animals and images of monstrous form. The Jews have purely mental conceptions of deity, as one in essence. They call those profane who make representations of God in human shape out of perishable materials. They believe that being, to be supreme and eternal, neither capable of representation nor of decay. They therefore do not allow any images to stand in their cities, much less in their temples. This flattery is not paid to their kings, nor dishonored to our emperors. From the fact, however, that their priests used to chant to the music of flutes and symbols, and to wear garlands of ivy, and that a golden vine was found in the temple, some have thought that they worshipped Father Liber, the conqueror of the east, though their institutions do not by any means harmonize with the theory. Father Liber established a festive and cheerful worship while the Jewish religion is tasteless and mean. Eastward, the country is bounded by Arabia. To the south lies Egypt. On the west are Phoenicia and the Mediterranean. Northward, it commands an extensive prospect over Syria. The inhabitants are healthy and able to bear fatigue. Rain is uncommon, but the soil is fertile. Its products resemble our own. They have, besides, the balsam tree and the palm. The palm groves are tall and graceful. The balsam is a shrub. Each branch, as it fills with sap, may be pierced with a fragment of stone or pottery. If steel is employed, the veins shrink up. The sap is used by physicians. Libanus is the principal mountain, and has, strange to say, amidst these burning heats a summit shaded with trees and never deserted by its nose. The same range supplies and sends forth the stream of the Jordan. This river does not discharge itself into the sea, but flows and tires through two lakes and is lost in the third. This is a lake of vast circumference. It resembles the sea, but is more nauseous in taste. It breeds pestilence among those who live nearby its noisome odour. It cannot be moved by the wind, and it affords no home either to fish or waterbirds. These strange waters support what is thrown upon them, as on a solid surface, and all persons, whether they can swim or know, are equally buoyed up by the waves. At a certain season of the year, the lake throws up bitumen, and the method of collecting it has been taught by that experience which teaches all other arts. It is naturally a fluid of dark colour. When vinegar is sprinkled upon it, it coagulates and floats upon the surface. Those whose business it is take it with the hand, and draw it on to the deck of the boat. It then continues of itself to flow in, and lay the vessel till the stream is cut off. Nor can this be done by any instrument of brass or iron. It shrinks from blood or any cloth stained by the menstrual of women. Such is the account of old authors, but those who know the country say that the bitumen moves in heaving masses on the water, that it is drawn by hand to the shore, and that there, and dried up by the evaporation of the earth and the power of the sun, it is cut into pieces with axes and wedges, just as timber or stone would be. Not far from this lake lies a plain, once fertile, they say, and the side of great cities, but afterwards struck by lightning and consumed. Of this event, they declare, traces still remain, for the soil, which is scorched in appearance, has lost its productive power. Everything that grows spontaneously, as well as what is planted by hand, either when the leaf or flower have been developed, or after maturing in the usual form, becomes black and rotten, and crumbles into a kind of dust. I am ready to allow, on the one hand, that cities once famous may have been consumed by fire from heaven, while on the other I imagine that the earth is infected by the exhalations of the lake, that the surrounding air is tainted, and that thus the growth of harvest and the fruits of autumn decay under the equally noxious influences of soil and climate. The river Bellis also flows into the Jewish sea. Out of its mouth is a kind of sand, which is collected, mixed with nitre, and fused into glass. The shore is of limited extent, but furnishes an inexhaustible supply to the exporter. A great part of Judea consists of scattered villages. They have also towns. Jerusalem is the capital. There stood a temple of immense wealth. This came the city with its fortifications, then the royal palace, then within the innermost defenses, the temple itself. Only the Jew might approach the gates. All but priests were forbidden to pass the threshold. While the east was under the sway of the Assyrians, the Medes and the Persians, Jews were the most contemptible of the subject tribes. When the Macedonians became supreme, King Antiochus strove to destroy the national superstition, and to introduce Greek civilization, but was prevented by his war with the Parthians, from at all improving the vilest of nations. For at this time the revolt of Arsaques had taken place. The Macedonian power was now weak, while the Parthian had not yet reached its full strength. And, as the Romans were still far off, the Jews chose kings for themselves. And, regaining their throne by force of arms, these princes, while they ventured on the wholesale banishment of their subjects, on the destruction of cities, on the murder of brothers, wives and parents, and the other usual atrocities of despots, fostered the national superstition by appropriating the dignity of the priesthood as the support of their political power. Neus Pompeius was the first of our countrymen to subdue the Jews. Of veiling himself of the right of conquest, he entered the temple. Thus it became commonly known that the place stood empty with no similitude of gods within, and that the shrine had nothing to reveal. The walls of Jerusalem were destroyed. The temple was left standing. After these provinces had fallen in the course of our civil wars, into the hands of Marcus Antonius, Pacherus, king of the Parthians, seized Judea. He was slain by Publius Ventidius, and the Parthians were driven back over the Euphrates. Caesosius reduced the Jews to subjection. The royal power, which had been bestowed by Antony on Herod, was augmented by the victorious Augustus. On Herod's death, one Simon, without waiting for the approbation of the emperor, usurped the title of king. He was punished by Quintilius Varus, then governor of Syria, and the nation, with its liberties curtail, was divided into three provinces under the sons of Herod. Under Tiberius all was quiet. But when the Jews were ordered by Caligula to set up his statue in the temple, they preferred the alternative of war. The death of the emperor put an end to the disturbance. The kings were either dead or reduced to insignificance, when Claudius entrusted the province of Judea to the Roman knights, or to his own fridmen, one of whom, Antonius Felix, indulging in every kind of barbarity and lust, exercised the power of a king in the spirit of a slave. He had married Drisilla, the granddaughter of Antony and Cleopatra, and so was the grandson-in-law, as Claudius was the grandson of Antony. Yet the endurance of the Jews lasted till Gesius Flores was procurator, and his time the war broke out. Cestius Gallus, legate of Syria, who attempted to crush it, had to fight several battles, generally with ill success. Cestius dying, either in the course of nature or from a vexation, Vespasian was sent by Nero, and by help of his good fortune, his high reputation, and his excellent subordinates succeeded within the space of two summers in occupying with his victorious army the whole of the level country and all the cities except Jerusalem. The following year had been wholly taken up with civil strife and had passed, as far as the Jews were concerned, in inaction. Peace having been established in Italy, foreign affairs were once more remembered, our indignation was heightened by the circumstance that the Jews alone had not submitted. At the same time it was held to be more expedient, in reference to the possible results and contingencies of the new reign that Titus should remain with the army. Accordingly he pitched his camp, as I have related, before the walls of Jerusalem, and displayed his legions in order of battle. The Jews formed their line close under their walls, when, if successful, they might venture to advance, and where, if repulsed, they had a refuge at hand. The cavalry with some light infantry was sent to attack them, and fought without any decisive result. Shortly afterwards the enemy retreated. During the following days they fought a series of engagements in front of the gates, till they were driven within the walls by continual defeats. The Romans then began to prepare for an assault. It seemed beneath them to await the result of famine. The army demanded the more perilous alternative, some prompted by courage, many by sheer ferocity and greed of gain. Titus himself had Rome with all its wealth and pleasures before his eyes. Jerusalem must fall at once, or it would delay his enjoyment of them. But the commanding situation of the city had been strengthened by enormous works which would have been a thorough defense even for level ground. Two hills of great height were fenced in by walls which had been skillfully oblique or bent inwards, in such a manner that the flank of an assailant was exposed to missiles. The rock terminated in a precipice. The towers were raised to a height of 60 feet, where the hill lent its aid to the fortifications, where the ground fell, to a height of 120. They had a marvelous appearance, and to a distant spectator seemed to be of uniform elevation. Within were other walls surrounding the palace, and rising to a conspicuous height the tower Antonia, so-called by Herod, in honor of Marcus Antonius. The temple resembled the citadel and had its own walls, which were more laboriously constructed than the others. Even the colonnades with which it was surrounded formed an admirable outwork. It contained an inexhaustible spring. There were subterranean excavations in the hill, and tanks and cisterns for holding rainwater. The founders of the state had foreseen that frequent wars would result from the singularity of its customs, and so had made every provision against the most protracted siege. After the capture of their city by Pompey, experience and apprehension taught them much. Availing themselves of the distorted policy of the Claudian era to purchase the right of fortification, they raised in time of peace such walls as were suited for war. Their numbers were increased by a vast rebel collected from the overthrow of the other cities. All the most obstinate rebels had escaped into the place, and perpetual seditions were the consequence. There were three generals, and as many armies. Simon held the outer and larger circuit of walls. John, also called Barjorus, occupied the middle city. Eleazar had fortified the temple. John and Simon were strong in numbers and equipment. Eleazar in position. There were continual skirmishes, surprises, and incendiary fires, and a vast quantity of corn was burned. But for long John sent some emissaries, who, under pretence of sacrificing, slaughtered Eleazar and his partisans, and gained possession of the temple. The city was thus divided between two factions, till, as the Romans approached, war with the foreigner brought about a reconciliation. All LibriVox recordings are in the public domain. For more information, or to volunteer, please visit LibriVox.org. Recording by Lenny The Histories by Publius Cornelius Tacitus Translated by Alfred John Church and William Jackson Broderib Book 5, January to November, AD 70, Part 2 Prodigies had occurred, which this nation, prone to superstition, but hating all religious rites, did not deem it lawful to expiate by offering and sacrifice. There had been seen hosts joining battle in the skies, the fiery gleam of arms, the temple illuminated by a sudden radiance from the clouds. The doors of the inner shrine were suddenly thrown open, and a voice of more than mortal tone was heard to cry that the gods were departing. At the same instant there was a mighty stir as of departure. Some few put a fearful meaning on these events, but in most there was a firm persuasion that in the ancient records of their priests was contained a prediction of how, at this very time, the east was to grow powerful, and rulers coming from Judea were to acquire universal empire. These mysterious prophecies had pointed to Vespasian and Titus, but the common people with the usual blindness of ambition had interpreted these mighty destinies of themselves and could not be brought even by disasters to believe the truth. I have heard that the total number of the besieged of every age in both sexes amounted to six hundred thousand. All who were able bore arms, and a number more than proportionate to the population had the courage to do so. Men and women showed equal resolution, and life seemed more terrible than death if they were to be forced to leave their country. Such was the city and nation, and Titus Caesar, seeing that the position forbade an assault or any of the more rapid operations of war, determined to proceed by earthworks and covered approaches. The legions had their respective duties assigned to them, and there was a cessation from fighting to all the inventions used in ancient warfare or devised by modern ingenuity for the reduction of cities were constructed. Meanwhile, Sevilleus, having recruited his army from Germany after his defeat among the Trevary, took up his position at the old camp, where his situation would protect him, and where the courage of his barbarian troops would be raised by the recollection of successes gained on the spot. He was followed to this place by Cerealis, whose forces had now been doubled by the arrival of the 2nd, 6th, and 14th legions. The auxiliary infantry and cavalry, summoned long before, had hastened to join him after his victory. Neither of the generals loved delay, but a wide extent of plain, naturally saturated with water, kept them apart. Sevilleus had also thrown a dam obliquely across the Rhine, so that the stream, diverted by the obstacle, might overflow the adjacent country. Such was the character of the district, full of hidden perils from the varying depths of the fords, and unfavorable to our troops. The Roman soldier is heavily armed and afraid to swim, while the German, who is accustomed to rivers, is favored by the lightness of his equipment and the height of his stature. The Batavai, provoking a conflict, the struggle was at once begun by all the boldest spirits among our troops, but a panic arose, when they saw arms and horses swallowed up in the vast depths of the marshes. The Germans slept lightly through the well-known shallows, and frequently, quitting the front, hung on the rear and flanks of our army. It was neither the close nor the distant fighting of a land battle. It was more like a naval contest. Struggling among the waters, or exerting every limb where they found any firm footing, the wounded and the unheard, those who could swim and those who could not, were involved in one common destruction. The loss, however, was less than might have been expected from the confusion, for the Germans, not venturing to leave the morris, returned to the camp. The result of this battle roused both generals, though from different motives, to hasten on the final struggle. Sevillez was anxious to follow up his success. Sevillez to wipe out his disgrace. The Germans were flushed with success. The Romans were thoroughly roused by shame. The barbarians spent the night in singing and shouting. Our men enraged in threats of vengeance. Next morning, Sevillez formed his front with the cavalry and auxiliary infantry. In the second line were posted the legions, the general reserving a picked force for unforeseen contingencies. Sevillez confronted him with his troops ranged, not in line, but in columns. On the right were the Batavai and the Gujarini. The left, which was nearer the river, was occupied by the Transrenan tribes. The exhortations of the generals were not addressed as formal herrings to the assembled armies, but to the divisions separately, as they rode along the line. Cerealis spoke of the old glory of the Roman name, a former and of recent victories. He told them that in destroying forever their treacherous, cowardly and bitten foe, they had to execute a punishment rather than to fight a battle. They had lately contended with a superior force, and yet the Germans, the strength of the hostile army, had been routed. A few were left, who carried terror in their hearts and scars upon their backs. He addressed to the several legions appropriate appeals. The fourteenth were styled the conquerors of Britain, the powerful influence of the six had made Galba emperor. The men of the second were in that battle first to consecrate their new standards and new eagle. Then, riding up to the army of Germany, he stretched forth his hand and implored them to recover their riverbank and their camp by the slaughter of the foe. A joyful shout arose from the whole army, some of whom, after long peace, lusted for battle, while others, wary of war, desired peace. All were looking for rewards and for future repose. Nor did civilians marshal his army in silence. He called the field of battle to bear witness to their valour. He told the Germans and Batavians that they were standing on the monuments of their glory, that they were treading underfoot the ashes and bones of legions. Wherever, he said, the Roman turns his eye, captivity, disaster, and everything that is terrible confront him. Do not be alarmed by the adverse result of the battle among the Treveri. There, their own success proved hurtful to the Germans, for, throwing away their arms, they hampered their hands with plunder. Since then, everything has been favourable to us and against the foe. All precautions which the skill of a general should take have been taken. Here are these flooded plains which we know so well. Here are the marshes so fatal to the enemy. The Rhine and the Gods of Germany are in your sight. Under their auspices give battle, remembering your wives, your parents, and your fatherland. This day will either be the most glorious among the deeds of the past or will be infamous in the eyes of posterity. These words were hailed according to their custom with the clash of arms and with wild antics. And then the battle was commenced by a discharge of stones, leaden balls, and other missiles. Our soldiers not entering the morris, while the Germans sought to provoke and so draw them on. When their store of missiles was spent and the battle grew hotter, a fiercer onslaught was made by the enemy. Their tall stature and very long spears enabled them, without closing, to wound our men who were wavering and unsteady. At the same time a column of the brooktory swam across from the dam which I have described as carried out into the river. Here there was some confusion. The line of the allied infantry was being driven back when the legions took up the contest. The fury of the enemy was checked and the battle again became equal. At the same time a Batavian deserter came up to Cerealis, offering an opportunity of attacking the enemy's rear if some cavalry were sent along the edge of the morris. The ground there was firm and the Gugernay to whom the post had been allotted were careless. Two squadrons were sent with the deserter and outflanked the unsuspecting enemy. At the shout that announced the success the legions charged in front. The Germans were routed and fled towards the Rhine. The war would have been finished that day if the fleet had hastened to come up. As it was, the cavalry did not pursue for a storm of rain suddenly fell and night was at hand. The next day the fourteenth legion was sent into the upper province to join Gala's Anias. The tenth, which had arrived from Spain, supplied its place in the army of Cerealis. Sevilleis was joined by some auxiliaries from the Chossai. Nevertheless he did not venture to fight for the defense of the Batavian capital, but carrying off property that could be removed and setting fire to the remainder he retreated into the island, aware that there were not vessels enough for constructing a bridge and that the Roman army could not cross the river in any other way. The river had been, so to speak, diverted. The narrowness of the channel between the island and Germany created an appearance of an uninterrupted surface of dry ground. Tutor, Clasicus, and one hundred and thirteen senators of the Traverae also crossed the Rhine. Among them was Alpinius Montanus, of whose mission into gold by Antonius I have already seen. The river had been, so to speak, diverted. He was accompanied by his brother, Decimus Alpinius. His other adherents were now endeavouring to collect auxiliaries among these danger-loving tribes by appeals to their pity and their greed. The war was so far from being at an end that Sevilleis, in one day, attacked on four points the positions of the Auxiliary Infantry and Cavalry and of the Legions, assailing the 10th Legion at Aranachem, the 2nd at Batevoduram, and the camp of the Auxiliary Infantry and Cavalry at Grine and Vada, and so dividing his forces, that he himself, his sister, son Varex, Clasicus and Tutor led each his own division. They were not confident of accomplishing all these objects, but they hoped that, if they made many ventures, fortune would favor them on some point. Besides, Sevilleis was not cautious and might easily be intercepted as the multiplicity of tidings heard him from place to place. The force, which had to attack the 10th Legion, thinking it a hard matter to storm a legendary encampment, surprised some troops who had gone out and were busy felling timber, killed the prefect of the camp, five centurions of the 1st rank and a few soldiers. The rest found shelter behind the fortifications. At Batevoduram, the German troops tried to break down the bridge, partly built, night terminated the bridge. There was great danger at Grins and Vada. Sevilleis attacked Vada, Clasicus, Grins, and they could not be checked, for our bravest men had fallen, among them Briganticus, who commanded the squadron of cavalry, and of whose loyalty to the Roman cause and enmity to his uncle Sevilleis I have already spoken. But when Cerealis came up with a picked body of cavalry, the Sevilleis, who was recognized while seeking to stop his flying troops, became the mark of many missiles, left his horse, and swam across the river. Vareks escaped in the same way. Some light vessels were brought up and carried off tutor and Clasicus. Even on this occasion the Roman fleet was not present at the engagement, though orders had been given to that effect. Fear kept them away, and their crews were dispersed about other military actions. The attack allowed too little time for executing his commands. He was hasting his plans, though eminently successful in their results. Fortune helped him, even where skill had failed, and so both the general and his army became less careful about discipline. A few days after this he escaped the peril of actual capture, but not without great disgrace. He had gone to Novesium and Bona to inspect the camps which were under the control of the Ligians, and was making his way back with the fleet, his escort being in disorder and his sentries negligent. This was observed by the Germans, and they planned a surprise. They chose a dark and cloudy night, and moving rapidly down the stream entered the entrenchments without opposition. The carnage was at first helped on by a cunning device. They cut the ropes of the tents and slaughtered the soldiers as they under force put the fleet into confusion, threw their grappling irons on the vessels, and dragged them away by the sterns. They sought at first to elude notice by silence, but when the slaughter was begun, by way of increasing the panic they raised on all sides a deafening shout. The Romans, awakened by sounds, looked for their arms and rushed through the passages of the camp, some few with their proper accoutrements, but most with their hands. The general, who was half asleep and all but naked, was saved by the enemy's mistake. They carried off the Praetorian vessel which was distinguished by a flag believing that the general was on board. Sarielas indeed had passed the night elsewhere, in the company as many believed of an Ubyan woman, Claudia Sacrata. The sentinels sought to excuse their own scandalous neglect by the disgraceful conduct of the general, alleging that they had been ordered silent, that they might not disturb his rest, and that from omitting the watchwords and the usual challenges they had themselves fallen asleep. The enemy rode back in broad daylight with the captured vessels. The Praetorian trireme they towed up the River Lupia as a present to Veleda. Sarielas was seized by a desire to make a naval demonstration. He mended all the triremes that he had, and such vessels as were propelled by a single bank of oars. To these he added a vast number of boats. He put in each three or four hundred men the usual complement of a Liburnian galley. With these were the captured vessels in which, picturesquely enough, plates of various colors were used for sails. The place selected was an expanse of water, not unlike the sea, where the mouth of the Mosa serves to discharge the Rhine into the ocean. The motive for equipping this fleet was, to say nothing of the natural vanity of this fleet, a desire to intercept by this alarming demonstration the supplies that were approaching from goal. Sarielas, more in astonishment than alarm, threw up his fleet in line, and though inferior in numbers, it had the advantage in the experience of the crews, the skill of the pilots, and the size of the vessels. The Romans had a stream with them. The enemy's vessels were propelled by the wind. Thus passing each other, they separated after a brief discharge of the White Missiles. Sevilleas attempted nothing more, and retired to the other side of the Rhine. Sarielas mercilessly ravaged the island of the Batavai, but, with a policy familiar to commanders, left untouched the estates and houses of Sevilleas. Meanwhile, however, the autumn was far advanced, and the river swollen by the continual rains of the season overflowed the island marshy and low-lying as it is till it resembled a lake. There were no ships, no provisions at hand, and the camp, which was situated on a low ground, was in process of being carried away by the force of the stream. That the legions might then have been crushed, and that the Germans wished to crush them, but were turned from their purpose by his own craft, was claimed as a merit by Sevilleas. Nor is it unlike the truth, since a capitulation followed in a few days. Sarielas, sending secret emissaries, had held out the prospect of peace to the Batavai, and of pardon to Sevilleas, while he advised Velida and her relatives to change by a well-timed service to the Roman people the fortune of war, which so many disasters had shown to be adverse. He reminded them that the Traverai had been beaten, that the Ubiai had submitted, that the Batavai had had their country taken from them, and that from the friendship of Sevilleas nothing else had been gained but wounds defeat in mourning. An exile and a fugitive he could only be a burden to those who entertained him, and they had already trespassed enough in crossing the Rhine so often. If they attempted anything more, on their side would be the wrong and the guilt, with the Romans the vengeance of heaven. Thus promises were mingled with threats, when the fidelity of the Transrenan tribes had been thus shaken, among the Batavai also there arose debates. We can no longer, they said, postpone our ruin. The servitude of the whole world cannot be averted by a single nation. What has been accomplished by destroying legions with fire and sword, but that more legions and stronger have been brought up. If it was for Vespasian that we fought this war, then Vespasian rules the world. If we meant to challenge to battle the Roman people, then what a mere fraction of the human race are the Batavai. Look at the Ritians and Norricans, and the burdens borne by the other allies. No tribute, but valour and manhood are demanded of us. That is the last thing to liberty, and if we must choose between masters, then we may more honourably bear with the emperors of Rome than with the women of the Germans. Such were the murmurs of the lower class. The nobles spoke in fiercer language. We have been driven into war, they said, by the fury of civilians. He sought to counterbalance his private wrongs by the destruction of his nation. Then were the gods angry with the Batavai when the legions were besieged, when the war, so necessary to that one man, so fatal to us, was begun. We are at the last extremity unless we think of repenting, and avour our repentance by punishing the guilty. These dispositions did not escape the notice of civilians. He determined to anticipate them, moved not only by wariness of his sufferings, but also by that clinging to life which often breaks the noblest spirits. He asked for a conference. All the relations between us were those of hatred and hostility first made so by him, and afterwards embittered by me. My respect for Vespasian is of long standing. While he was still a subject, we were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. We were called friends. This was known to primus Antonius whose letters urged me to take up arms. For he feared less the legions of Germany and the youth of Gohl should cross the Alps. What Antonio's advice by his letters Hordeonia suggested by word of mouth. I fought the same battle in Germany as did messianes in Syria, Aponias inμOSxe, know what happened to Sevilleis. The Batavians seem to have received favourable treatment.